[PHP-users 34693] Re: yahooにメールが届かない現象
minto_ys @ yahoo.co.jp
minto_ys @ yahoo.co.jp
2009年 8月 9日 (日) 21:26:22 JST
SHIMIZU様
ありがとうございます。マルコです。
私はプログラムを作っていて、他にサーバー管理の方が
いらっしゃって、詳しい事はあまり分からないので
まとハズレな質問や言動があるかもしれません。
その点、ご了承ください。
> 送信できた時のheaderの情報を元に原因を探るより、まずは、PHPスクリプトが
> 送出する、
>
> SMTP server (どこのSMTP serverを使ってメール送信しようとしているのか?)
> MAIL FROM: <from @ from.domain.example.jp>
> RCPT TO: <to @ to.domain.example.jp>
>
> を確認されてみてはいかがでしょうか。
> From:やErrors-To:などのheaderって、結局SMTPの"data"が成立した後の
> 話ですから。
>
> 例として、smtp.mail.yahoo.co.jpでは、少なくともyahooから見た外部
> ネットワークからのSMTP送信において、SMTP Authが成立する・しないに
> 関わらず、MTAがenvelope fromがについて自社のdomainユーザであるかどうか、
> の確認をしているように見えます。
>
今まで、レンタルサーバーなどを複数借りて、サイトを運営して来た際に
mb_send_mailで何ら、問題なく送信出来ていたので、
詳細まで疑問に思う事が無かったのですが、
メーラーから送る場合の、サーバーの送信経路と、
mb_send_mailから送る場合の、サーバーの送信経路が違う場合が
あると言う事でしょうか?
私はてっきり、同じだと思っていました。
> つまり、メーラで送った時と、mb_sendmailを使った時とで、dataセッショ
> 以前ののSMTP serverと、envelope from及びenvelope toの値を確認すべきです。
これは、サーバー管理者に聞けば分かる事ですか?
どこを見ればいいのか、教えていただけますでしょうか。
> ところで、mb_sendmailって、smtps serverのhostnameとportやsmtp authの有無を
> 指定するオプションが無いようにみえるんですが、、、いったいどこのSMTPサーバに
> 接続しているんでしょうか??
はい、mb_send_mailは、ご指摘の様に、portなどを指定する
オプションはありません。
日本語を扱うメール送信関数として、一番便利に使われているもので
apacheか、サーバーが指定しているポートを使用していると
思われます。
この関数が、いけないのでしょうか?????
この件が解決せずに、色々調べていた所、
mail.php というのを見つけました。
こちらは、smtpsやportなども指定出来るようです。
ここ何日間も、サーバー管理の方と、色々調べて
ありとあらゆる事をサーバーで設定してみたのですが、
mb_send_mailから送る時だけ、domainkeys=fail(bad sig)になります。
しかたがないので、コメントアウトしてもらったのですが
そうすると、
メーラーからも、プログラムからも、
domainkeys=neutral (no sig)
になりました。
この、domainkeys以前の問題で、経由している場所(?)が
メーラーと、mb_send_mailでは、違うからと言う事であれば
SHIMIZU様のおっしゃる通り、
プログラム側から、hostやportを指定しする
mail.php を使う事で解決するかと思うのですが・・・。
他にメール送信する関数で、良いものがあれば
教えていただけると嬉しいです。
長くなってしまいました。
勉強不足なのは、重々承知しています。
申し訳ありませんが、宜しくお願い致します。
--------------------------------------
Power up the Internet with Yahoo! Toolbar.
http://pr.mail.yahoo.co.jp/toolbar/
PHP-users メーリングリストの案内