![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
現在PHP5を利用して携帯の空メールを実装しており、3日ほどトライし続けておりますが、携帯側にエラーが返信される所で先に進めずにいます(;;)プログラムは勉強し始めて4ヶ月程度の未熟者です。どなたか是非ご教授頂ければと思います。よろしくお願いします!!
ちなみに、pearは使えているのを、他のライブラリで確認しました。
【使用言語とライブラリ】
PHP5、pearの『Mail.php』『mimeDecode.php』
【参考書籍】
PHP携帯 デベロッパーズバイブル
【利用サーバー】
Xサーバー
【メールの振り分け設定】
『条件』あて先が ○○○@△△.com を一致する
『処理方法』
| /home/サーバーID/ドメイン/public_html/フォルダ名/フォルダ名/empty_mail.php へ 転送する
【PHPのソース】
#!/usr/bin/php5
<?php
//PEAR::Mailライブラリ
ini_set('include_path', '/home/サーバーID/ドメイン/public_html/pear/PEAR');
require_once 'Mail/Mail.php';
//PEAR::Mail_mimeライブラリ
ini_set('include_path', '/home/サーバーID/ドメイン/public_html/pear/PEAR');
require_once 'Mail/mimeDecode.php';
//メールソースを読み込む
$source = file_get_contents("php://stdin","r");
if(!$source){
exit("標準入力に失敗");
}
//メールを解析する
$decoder = new Mail_mimeDecode($source);
$structure = $decoder->decode($params);
//送信元を取得する
$from = $structure -> headers['from'];
$from = mb_decode_mimeheader($from);
$from = mb_convert_encoding($from, mb_internal_encoding(),'auto');
if(preg_match( '/<(.*?)>$/' , $from , $match)){
$from = $match[1];
}
$from = trim($from);
$from = strtolower($from);
//送信データを設定する
$recipients = $from;
$new_from = ○○○@△△.com';
$subject = 'empty mail ok!';
$body = '(仮)こんにちわ';
//メールを送信する
$headers = array();
$headers['From'] = $new_from;
$headers['To'] = $recipients;
$headers['Subject'] = $subject;
$headers['Sender'] = $new_from;
$mail = Mail::factory('sendmail');
$result = $mail->send($recipients, $headers, $body);
ini_set('log_errors', '1');
ini_set('error_log', 'エラーです');
【エラー内容(すごく長いですが…)】
This is the Postfix program at host sv225.xserver.jp.
I'm sorry to have to inform you that your message could not be
delivered to one or more recipients. It's attached below.
For further assistance, please send mail to <postmaster>
If you do so, please include this problem report. You can delete your
own text from the attached returned message.
The Postfix program
<○○○@△△.com>: Command died with status 255: "/usr/bin/maildrop". Command
output: PHP Warning:
require_once(/home/サーバーID/ドメイン名/public_html/pear/PEAR/Mail/Mail.php)
[<a href='function.require-once'>function.require-once</a>]: failed to open
stream: No such file or directory in
/home/サーバーID/ドメイン名/public_html/mobile_search/gotempty_mail2.php on
line 7 PHP Fatal error: require_once() [<a
href='function.require'>function.require</a>]: Failed opening required
'/home/サーバーID/ドメイン名/public_html/pear/PEAR/Mail/Mail.php'
(include_path='home/サーバーID/ドメイン名/public_html/pear/PEAR') in
/home/サーバーID/ドメイン名/public_html/mobile_search/gotempty_mail2.php on
line 7 X-Powered-By: PHP/5.1.6_ Content-type: text/html_ _
とても煩雑でごめんなさい(;;)
どうかよろしくお願いします。
No.2ベストアンサー
- 回答日時:
携帯端末以外から送信すると正常に処理され、メールもサーバに残らない状態になるということでしょうか。
受信したメールをPHPに流している(転送している)だけなので、いずれにしても元のメッセージは残ると思っていましたが、Xserverでは違うのでしょうか。携帯端末に送信できない理由は迷惑メール対策が考えられますね、とりあえず送信元の端末の迷惑メール対策の設定を確認してみてください。
メールサーバーには携帯やPCから送ったメールがそのまま残っているという状態でした。
でも、解決できました!!
すごくうれしいです!!
原因は、転送設定が破壊していました。ためしにmailフォルダの.filterを開いてみたら、いくつか作ったおいた転送用のurlで、空メールを発動するphpファイルに該当するurl(メールアドレス?)だけが何故か文字化けしまくっていました。
きっと僕がその該当フォルダの設定をするときに、すごいスピードで入れなおしたり削除したりを繰り返し過ぎたのだと思います。
迷惑メール対策はこれから取り組んでみたいと思います。
アドバイスありがとうございました(^^)
No.1
- 回答日時:
require_once()でのエラーですよね。
ファイル自体がないということはないと思うので、、
インクルードパスの設定に誤りがあるか、ファイル又はディレクトリの権限の設定に誤りがあるかのいずれかではないでしょうか。
この回答への補足
アドバイスありがとうございます。
お陰でエラーは消えました。
ただ、今度は携帯から送信したメールが転送されずに、メールサーバーに残ったままになってしまいました。
転送設定がおかしいのかと思い、Xサーバーに問い合わせた所、転送先は
「| /usr/bin/php5 /home/サーバーID/ドメイン名/public_html/フォルダ名/フォルダ名/empty.php 」
が良いとの事なので、そのように再設定したのですが、やはりdocomo、au、softbank全てで、自動返信は元より、転送されずに空メールがメールサーバーに残ったままになってしまいます。なので必然的に携帯には何も返ってきません。
もしヒントがありましたら、ご教授頂きたいと思います(;;)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php 完了画面の送信メールのコードを書いているのですが・・・ 2 2023/06/02 12:01
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- Outlook(アウトルック) 休みが明けてメールをみたらやばいです 3 2022/08/17 09:03
- 英語 この"e-mail"が複数形でもなく、無冠詞なのはなぜですか? 「表現のための実践ロイヤル英文法」に 1 2022/07/10 16:12
- PHP phpのメールフォームの完了画面でメール受信のコードを書いています。 1 2023/05/31 11:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Parse errorの対処法について
-
さくらサーバーにて、phpからメ...
-
ローカル環境でのメール送信
-
mb_send_mail関数が利用出来ない
-
フォントの色を変えるには?
-
透過PNGが透過されない!!
-
ImageCreate関数が undefined f...
-
onedrive にexcelファイルをア...
-
「クラス関数」「メンバ関数」...
-
FTPコマンドでディレクトリごと...
-
.phpと.incファイルの違いはな...
-
データ送信をボタンを押さずに...
-
phpのheader("Location:#pos")...
-
str ! = NULL
-
複数ファイルを連続でダウンロード
-
パースエラーとは?
-
rmdirでフォルダが消せません
-
PHP8を使うと、大量のWarningが...
-
PHPでFilename cannot be empty...
-
PHPの変数で最初から2行分の文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
さくらサーバーにて、phpからメ...
-
mb_send_mail関数が利用出来ない
-
ローカル環境でのメール送信
-
pearのMailライブラリがうまく...
-
メールの本文が取得できない
-
PHPからメールを送る@さくらイ...
-
指定した時間にPHPプログラムを...
-
mail関数を使った場合のReturn-...
-
mb_send_mailでのメール送信が...
-
cronでメールを送信すると文字...
-
mb_send_mailについて
-
ワードプレス 予約システム
-
mb_send_mailでタイトルにハテ...
-
mb_send_mail()が使えない
-
PHPで、一度に大量のメールの送...
-
phpでのメール送信
-
PHP4.4.1でmb_send_mailの送信...
-
PHPでのフォーム送信・・・・
-
コマンドプロンプト、VBSでの添...
-
メールアドレス形式チェックソ...
おすすめ情報