メールの受信をトリガーとしてPHPプログラムを起動し、返信するというものを作っています。
メールの本文を取得し、そこに対して処理を書いているので、その処理結果を本文として返すと空メールのような状態で返ってきてしまいます。
初心者で調べながらの作業ですが、なかなか粘っても解決出来そうになく、質問させて頂きます。
PHP
1$path = '/home/アカウント名/pear/PEAR/'; 2set_include_path(get_include_path() . PATH_SEPARATOR . $path); 3require_once '/home/アカウント名/www/pear/PEAR/Mail/mimeDecode.php'; 4 5$params['include_bodies'] = true; 6$params['decode_bodies'] = true; 7$params['decode_headers'] = true; 8$params['input'] = file_get_contents("php://stdin"); 9$params['crlf'] = "\r\n"; 10if (!$params['input']) {// 読み込み失敗 11 exit(); 12} 13$structure = Mail_mimeDecode::decode($params); 14$mail = $structure->headers['from']; 15$mail = addslashes($mail); 16$mail = str_replace('"','',$mail); 17$mail = preg_replace('/(^.*<|>$)/', '', $mail); 18$MailBody = mb_convert_encoding($structure->body, 19mb_internal_encoding(), "UTF-8"); 20 21// ここに本文を受け取った後の処理 22 23$from = 'hoge@hoge.com'; 24$head = "From: $from\n"; 25$subject = 'メールテスト'; 26$body = $MailBody; 27 28// メール送信 29mb_language('japanese'); 30mb_internal_encoding('UTF-8'); 31mb_send_mail($mail, $subject, $body, $head, $from);
このような記述でメールの受信をしたらその本文を$MailBodyに格納して、メールを送信元に送信するというところまでは無事に辿り着いたのですが。。。
ここに本文を受け取った後の処理の所に、
PHP
1$values = preg_replace("/( | )/", "", $MailBody); 2$array = explode("\n", $values); // とりあえず行に分割 3$array = array_map('trim', $array); // 各要素をtrim()にかける 4$array = array_filter($array, 'strlen'); // 文字数が0のやつを取り除く 5$array = array_values($array); // 連番振り直し 6 7foreach($array as $value) { // 配列の値を取り出す 8 if(preg_match('/^名前/', $value)) { //もし値の初めに名前がつく値があったら 9 $hogehoge = preg_replace('/名前/', '', $value); // 名前を削除して残った文字列を格納 10 } 11} 12 13$from = 'hoge@hoge.com'; 14$head = "From: $from\n"; 15$subject = 'メールテスト'; 16$body = $hogehoge; 17 18// メール送信 19mb_language('japanese'); 20mb_internal_encoding('UTF-8'); 21mb_send_mail($mail, $subject, $body, $head, $from);
上記のように、メールを受け取ったら1行ずつ配列に格納して取り出し、処理を行っていきたいです。
送られてくる本文の例)
名前テスト太郎
年齢15
生年月日2000#2#20
なので、$hogehogeにはテスト太郎が入って、それを返信の本文として使用したいと思いこういった記述になりました。
しかし、実際に動かすと空メールが返ってくるだけで、$hogehogeには何も値がないこと?になってしまっています。
どなたかご教授頂けますと幸いです。
宜しく御願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/10/04 12:36
2015/10/04 12:41
退会済みユーザー
2015/10/04 12:47
2015/10/04 12:58 編集
退会済みユーザー
2015/10/04 12:58
退会済みユーザー
2015/10/04 13:00
2015/10/04 13:02
2015/10/04 13:13 編集
2015/10/04 13:21 編集
退会済みユーザー
2015/10/04 13:22
2015/10/04 13:26
退会済みユーザー
2015/10/04 13:34
2015/10/04 13:36
退会済みユーザー
2015/10/04 13:42
2015/10/04 13:46
退会済みユーザー
2015/10/04 13:47
2015/10/04 14:07 編集
退会済みユーザー
2015/10/04 14:15
2015/10/04 14:41 編集
退会済みユーザー
2015/10/04 15:44
退会済みユーザー
2015/10/04 15:52
退会済みユーザー
2015/10/04 17:36