[PHP-users 29212] Re: mb_send_mailがfalseを返す
Tadashi Jokagi
ml @ elf.no-ip.org
2006年 5月 15日 (月) 23:55:40 JST
上鍵です.こんにちは.
荒木 満さんの<00f401c67829$1e611930$0200a8c0 @ MITSURU>から
>メールアドレスは全く普通の半角英字のみで、見た感じではメールアドレスの問題があ
>るとは思えません。ただ、実際他のアドレスを入力すると正
>常に動作します。
コマンドラインで下記のようにコマンド sendmail を実行したらどう
なりますか?
↓「&&」以前は php.ini や phpinfo()で出てくるパス & 引数
==== Cut Here ==== Cut Here ==== Cut Here ==== Cut Here ====
$ /usr/sbin/sendmail -t -i && echo OK
From: <sender-email @ example.com>
To: <receipt-email @ example.com>
Subject: test
test
<= 行頭で [Ctrl][D] で終了
==== Cut Here ==== Cut Here ==== Cut Here ==== Cut Here ====
実行前から実行後までメール関連のログをコマンド実行時に確認しましょ
う.で,画面上では上記コマンド実行時にエラーがなければ「OK」が表示
されます.
PHP で作成されるメールメッセージに問題がないかを調べる方法もあり
ます.
==== Cut Here ==== Cut Here ==== Cut Here ==== Cut Here ====
$ php -d sendmail_path="cat -" -r '
mb_language( "ja");
mb_internal_encoding( "EUC-JP");
$to = "receipt-email @ example.com";
$from = "sender-email @ example.com";
$result = mb_send_mail( $to, "件名", "本文", "From: <$from>", "-f$from");
var_dump( $result);'
To: receipt-email @ example.com
Subject: =?ISO-2022-JP?B?GyRCN29MPhsoQg==?=
From: <sender-email @ example.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
本文
bool(true)
==== Cut Here ==== Cut Here ==== Cut Here ==== Cut Here ====
#スクリプト部分は 1 行で書ききってもかまいません
これはコマンド sendmail を cat に差し替え,メールメッセージを標準
出力に出力する例です.リダイレクトでファイルに落とせばエディタな
どで文字エンコードの確認などもついでにできます.おそらくはこの辺
りまでで何らかの問題点は見つかるはずです.
後は上記メールメッセージを今度は telnet などで SMTP サーバーと
話をしたときにどうなるかなど調べることもできます.しかし,mail()
や mb_send_mail() 自体は作成したメールメッセージを queue に溜める
までの処理でのエラー発生で振るまいが変わるだけなので,この辺りの
問題はおそらく関数の返値とは関係ないと思います(telnet で対話した
ときに発生するエラーは,実際に PHP に立ち戻ったときにはおそらく
queue からメールをはき出すときに発生すると思われ,PHP と関係なく
なるため)
--
----.----1----.----2----.----3----.----4----.----5----.----6----.----7
Tadashi Jokagi/Setagaya city mailto:elf @ elf.no-ip.org
YokukitanaII http://elf.no-ip.org/
Yokukitablog http://blog.poyo.jp/
Yokukitawiki http://wiki.poyo.jp/
PHP-users メーリングリストの案内