PHPなどのプログラムからメールを送信する場合、メールを受信する側が迷惑メールに振り分けられてしまうようなことがあります。これにはいろいろ原因があるのですが、信頼のあるSMTPサーバーを経由してメールを送信することで、そのような問題を回避することが可能です。
SMTPサーバとは?
SMTPtとはSimple Mail Transfer Protocolの略で、SMTPサーバとは、メールの送信元と宛先の間で、メールを送受信または中継することを主な目的としたアプリケーションです。
SMTPサーバは通常、”smtp.serveraddress.com” といった形式のホスト名を持っています。Gmailの場合はsmtp.gmail.com。
なぜSMTPサーバは重要なのか?
SMTPサーバ無しではメールが宛先に届くことはありません。メール送信するとメールはコードに変換され、SMTPサーバがそのコードを解析してメールを配送します。SMTPサーバが無ければ、メッセージは配送されることなく失われてしまうのです。そして、SMTPサーバは、有効なアカウントから送信されたメールであるか否かを検証することで、不正メールの脅威から受信トレイを保護する役割も担っています。
さらに、メールが宛先に届かなかった際に送信元にメールを送り返すことで、送信者はメールアドレスの間違いや送信先の相手のサーバからブロックされていることを知ることが可能になります。
SendinBlue
SendinBlueは基本は有料のメールマーケーティングサービスですが、無料枠があり、日上限300通まで無料でメールを配信することができます。PHPなどのプログラムからメールを送信すると通常のプロセスで配信されるメールとは異なるため、受信する環境によってはスパム扱いされて「迷惑メール」として認識されたり、メールそのものが届かなかったりすることがあるということです。SendinBlueが提供しているSMTPサーバーを利用することで、このような迷惑メール扱いされる可能性も減らすことが可能となります。1日300通までりようできるので、小規模のサービスなら十分だとおもいます
SendinBlue
PHPでメールを送信するならPHPmailer
SendinBlueでアカウントを作成し、SMTPの設定情報を得たら、PHPMailerなどを利用することでメールを安全に送信することが可能となります。