さくらレンタルサーバーにて、メール受信をトリガーとして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
1cc "| /usr/local/bin/php -q /home/アカウント名/www/hogehoge/hoge/fuga.php"
.mailfilterのパーミッションは600。
fuga.phpのパーミッションは744。
fuga.php
PHP
1#!/usr/local/bin/php 2<?php 3 require_once '/home/アカウント名/www/pear/PEAR/Mail/mimeDecode.php'; 4 5 //メールソースを標準入力から読み込み 6 $source = file_get_contents("php://stdin"); 7 if(!$source) { 8 exit(); // 読み込み失敗 9 } 10 11 //メール解析 12 $params['include_bodies'] = true; 13 $params['decode_bodies'] = true; 14 $params['decode_headers'] = true; 15 $decoder = new Mail_mimeDecode($source); 16 $structure = $decoder->decode($params); 17 $mail = $structure->headers['from']; 18 $mail = addslashes($mail); 19 $mail = str_replace('"','',$mail); 20 $mail = preg_replace('/(^.*<|>$)/', '', $mail); 21 $subject = $structure->headers['subject']; 22 $subject = mb_convert_encoding($subject, "UTF-8", "jis,iso-2022-jp"); 23 $mailBody = $structure->body; 24 $mailBody = mb_convert_encoding($mailBody,"UTF-8","jis,iso-2022-jp"); 25 26 //----------------------------------------// 27 //本文取得し、処理 28 //省略しています。 29 //処理後、送られたメールアドレス宛に返信する 30 //----------------------------------------// 31 32 mb_internal_encoding("UTF-8"); 33 mb_language("japanese"); 34 mb_send_mail($to, $subject, $body, $from);
このように組んでいます。
iphoneは正常に動作しています。
gmailやandroidのメールソフトだとエラーになります。
またガラケーにも対応していきたいと考えています。
よろしくお願いします!!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。