質問編集履歴

1 誤字

退会済みユーザー

退会済みユーザー

2016/01/04 16:47  投稿

メール受信をトリガーにPHPプラグラムを実行
さくらレンタルサーバーにて、メール受信をトリガーとしてPHPプログラムを実行させ
メール送信するというプログラムを作っています。
その途中で立ち止まってしまったことがあり、ご教授頂きたいです。
iPhoneで送信すると、きちんとPHPプログラムが処理され、返信が来るのですが、GメールやAndroidだとエラーメールが返ってきます。
エラーメールの内容が下記です。
----- The following addresses had permanent fatal errors -----
<hogehoge@hoge.com>
(reason: 255)
----- Transcript of session follows -----
554 5.3.0 unknown mailer error 255
調べてみたのですが、解決策が見当たりませんでした。
.mailfilterを使用してPHPプログラムを起動させています。
```TEXT
cc "| /usr/local/bin/php -q /home/アカウント名/www/hogehoge/hoge/fuga.php"
```
.mailfilterのパーミッションは600。
fuga.phpのパーミッションは744。
fuga.php
```PHP
#!/usr/local/bin/php
<?php
require_once '/home/アカウント名/www/pear/PEAR/Mail/mimeDecode.php';
//メールソースを標準入力から読み込み
$source = file_get_contents("php://stdin");
if(!$source) {
exit(); // 読み込み失敗
}
//メール解析
$params['include_bodies'] = true;
$params['decode_bodies'] = true;
$params['decode_headers'] = true;
$decoder = new Mail_mimeDecode($source);
$structure = $decoder->decode($params);
$mail = $structure->headers['from'];
$mail = addslashes($mail);
$mail = str_replace('"','',$mail);
$mail = preg_replace('/(^.*<|>$)/', '', $mail);
$subject = $structure->headers['subject'];
$subject = mb_convert_encoding($subject, "UTF-8", "jis,iso-2022-jp");
$mailBody = $structure->body;
$mailBody = mb_convert_encoding($mailBody,"UTF-8","jis,iso-2022-jp");
//----------------------------------------//
//本文取得し、処理
//省略しています。
//処理後、送られたメールアドレス宛に返信する
//----------------------------------------//
mb_internal_encoding("UTF-8");
mb_language("japanese");
mb_send_mail($to, $subject, $body, $from);
```
このように組んでいます。
iphoneは正常に動作しています。
gmailやandroidのメールソフトだとエラーになります。
またガラケーにも対応していきたいと考えています。
よろしくお願いします!!
  • PHP

    38093 questions

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

  • PEAR

    155 questions

    PEAR (PHP Extension and Application Repository)はPHPで利用する事ができるライブラリです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る