メールに関して以前にもこんなこと書きましたが、今更ながらトラブルが起きたのでしっかり理解しておかないと・・・
基礎が弱いと困るのう・・・
ロリポップなどのサーバーでmb_send_mailを打てばよくわからずともメールは相手に飛びます。
内部的にはどうやっているかというと、以下のような感じでしょうか。
- PHPのプログラムがメールを送信する
- ロリポップのSMTPサーバーを経由する
(大昔はSMTPも経由せずportは25を使っていましたが、あまりにも使われ、不正利用されるため、現在では587など別ポートを使うことが一般的です。またより安全なメール送信のためにIDとパスワードの認証をすることが一般的です。) - 相手の受信メールサーバーに届く
こんな感じでやってるとVPSでメール送信しようってなった時に急に飛ばなくなることがあります。
上記のような手続きを踏まえていないので、まあ迷惑メール判定されてしまうなどで正常に送信できないわけですね。
こういったことと防ぐためにメール送信の際には
- SMTPサーバーを経由する
- ID,PATHの認証を通す
をするように・・・というか基本ですね。
イメージとしてはOutlookなどのメーラーを使って行う作業をPHPで行うだけという感じですね。
こう考えるとイメージしやすいのではないでしょうか。
php から確実にメール送信(Qdmail使用、SMTP経由)
[…] SMTP-AUTHのメール送信 […]