質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.75%

  • PHP

    19150questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

メールを受け取ったらPHPを実行したい

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 344

teityann1225

score 17

やりたいこと

サクラサーバーでメールを受け取ったらPHPを実行したい。
サーバーはさくらのレンタルサーバーです。

エラー内容

メールを受け取ることができない。
スクリプトは実行されていません。
よろしくお願いします。

コード

//.mailfilter
to "| /usr/local/bin/php -q /home/ユーザー名/www/push.php"
//push.php
#!/usr/local/bin/php
<?php

$stdin = file_get_contents('php://stdin');

require_once dirname(__FILE__) . 'D.php';

$stdin = file_get_contents('php://stdin');
$decoder = new Mail_mimeDecode($stdin);
$params = array("include_bodies"=>true);
$structure = $decoder->decode($params);


$subject = mb_convert_encoding(mb_decode_mimeheader($structure->headers["subject"]),mb_internal_encoding(), "auto");
$bdoy = $structure->body;
$subjects = mb_convert_encoding(mb_decode_mimeheader($structure->headers["from"]),mb_internal_encoding(), "auto");
?>
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Kosuke_Shibuya

    2017/12/14 19:56

    レンタルサーバーのスタンダードプランですね?VPSのスタンダードではないということですね。

    キャンセル

  • teityann1225

    2017/12/14 19:59

    そうです。

    キャンセル

  • 退会済みユーザー

    2017/12/15 07:48

    複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

回答 2

+2

 必要要件

このスクリプトが正常に動作するには、メールの受信サーバとWEBサーバーが 物理的に同一 のマシンである必要があります。

 確認方法

同一のサーバーであるかどうかは、ドメインだけでは判断できません。それぞれのグローバルIPが同一であることを確認してください。

確認方法としては、以下のコマンドでメールサーバーのIPを確認し、

#windows
$ nslookup --type=mx google.com

# Mac
$ dig google.com mx

以下のコマンドでWEBサーバーのIPアドレスを確認する

#windows
$ nslookup google.com

# Mac
$ dig google.com

上の2つが同一であるかを確認して、同一であればスクリプト側の問題。メールの受信ログを確認すべきである。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/14 20:23

    同じでした。

    キャンセル

  • 2017/12/14 20:24

    ではメールの受信ログを調べて原因を探りましょう。

    キャンセル

  • 2017/12/14 20:36 編集

    メールを送るとこんな文が帰ってきました。
    これは参考になりますか?
    .mailfilter(1): Syntax error.
    <kojin@2retrt.com>... Deferred: vmail mailer (/usr/local/bin/maildrop) exited with EX_TEMPFAIL

    Final-Recipient: RFC822; メール@teityan.com
    X-Actual-Recipient: RFC822; メール@www2999222333.sakura.ne.jp
    Action: delayed
    Status: 4.2.0
    Diagnostic-Code: X-Unix; 75
    Last-Attempt-Date: Thu, 14 Dec 2017 05:14:40 +0900 (JST)
    Will-Retry-Until: Tue, 19 Dec 2017 00:57:12 +0900 (JST)

    キャンセル

  • 2017/12/14 20:43

    デバッグの基本ですが、エラーメッセージでググって見ては?

    キャンセル

  • 2017/12/14 23:45

    調べたのですが分かりませんでした。
    教えていただけると幸いです。

    キャンセル

  • 2017/12/14 23:46 編集

    どういうキーワードで検索して、どのページを見て、何がわからなかったのかを記述してください。
    回答者にあなたの仕事をタダでやってもらうサイトではありませんので。

    キャンセル

  • 2017/12/17 19:13

    Google AppScriptでやることにしました。ありがとうございました。

    キャンセル

check解決した方法

-1

Google AppScriptでやることにしました。ありがとうございました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.75%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    添付ファイル名が文字化けします。

    メールに添付ファイルをつけて配信したいのですが 届いたメールの添付ファイル名が文字化けしています。 どうすれば文字化けが直るのでしょうか? よろしくお願いいたします。

  • 解決済

    anyenvで導入したphpenv(php-build含)でPHPをインストールできません

    環境 ハード MacBook Air (13-inch, Early 2015) OS OS X El Capitan 10.11.6(15G1004) CPU

  • 解決済

    テキスト形式のメールが取得できない

    echo mail($to, $subject, $message, $headers); でメールを送りました。 この送ったメールをPHPで取り込みたいのですが、取り込むこと

  • 解決済

    PDFファイルを添付したメールを送信したい

    タイトル通りです。 昔csvを添付したメール送信をやった経験があって、今回pdfの添付もしようと思っていますが、添付がうまく行かないです。 エラーも出て来てないため、どこが

  • 解決済

    php7での仕様変更?

    先日このサイトでお聞きしたことの派生なのですが、メールをトリガーとしてphpを起動させるという方法についてお教えください。 メールをトリガーとしてphpを起動させる方法については当

  • 受付中

    htmlをpdfで出力しようとしたときに、アルファベットが記号に文字化けする。

     概要 帳票をpdfで出力するシステムを作っております。 htmlで作成した文書をpdfとして出力するために、 googleのwkhtmltopdfというツールを使用しておりま

  • 解決済

    php pear mail 文字化け

    php pear mail を用いてメール送信テストを行っております。 その際に、日本語メールにてメールをSMTP経由で送信をしております。 その中で、メール送信はできており、メー

  • 解決済

    PHPからのメールで文字化けする

    phpで一斉メールを送ろうと思っています。 お名前コムの共有サーバーを使っています、下記テストで30人ほどに一斉送信を繰り返したところ 一度負荷がかかり過ぎという事で制限をされた際

同じタグがついた質問を見る

  • PHP

    19150questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。