[PHP-users 34692] Re: yahooにメールが届かない現象

SHIMIZU kazuhito kazuhito.shimizu @ gmail.com
2009年 8月 9日 (日) 05:08:48 JST


おはようございます。

送信できた時の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_sendmailを使った時とで、dataセッショ
以前ののSMTP serverと、envelope from及びenvelope toの値を確認すべきです。

そこの切りわけがついてから、headerについて疑ってみるのがよいと思います。

ところで、mb_sendmailって、smtps serverのhostnameとportやsmtp authの有無を
指定するオプションが無いようにみえるんですが、、、いったいどこのSMTPサーバに
接続しているんでしょうか??

2009/8/4  <minto_ys @ yahoo.co.jp>:
> Take様
>
> ありがとうございます。
>
>> 可能であれば「Errors-To」なども
>> 「Return-Path」や「Errors-To」に指定するメールアドレスのドメイン情報は当然逆引き出来るもので。
>
> 専用サーバーで運用しているのですが
> Pearのライブラリは入っていないみたいです。
> とりえず、いいのかどうか分かりませんが、
> 今のヘッダに追加してみましたw
>
> $add_header .= "From: hoge.jp\n";
> $add_header .= 'Reply-To: hoge.jp\n";
> $add_header .= 'Error-To: hoge.jp\n";
> $add_header .= 'X-Mailer: PHP/' . phpversion();
>
> このやり方じゃ駄目ですかね?
>
> 今日になって、メールは届く様になったのですが、
> 他に教えて頂きたい事が出てきましたので、
> また、この内容とは違うので、違うタイトルで
> 新たに質問させて頂きます。
>
> 皆様ありがとうございました。

-- 
SHIMIZU kazuhito
  <kazuhito.shimizu @ gmail.com>


PHP-users メーリングリストの案内