noshi’s diary

ゲームの事、映画やドラマ、思いついた事、プログラミングの事、雑記的なことを書いています

mb_send_mailによるメール配信の顛末

運用サイトでmb_send_mailで一斉配信しているメールが、ここ数ヶ月、先方のIPSによって弾かれてメールが届かない、スパムとして認識されるなどの状況が続いている。メールが確実に届くよう、IPアドレスの逆引き設定、SPF設定をしたが、それでも一部の相手に送れないという、なんともしがたい状況が続いている。

メールを送れない相手は、おそらくなんらかのフィルタサービスを使っているのは間違いない。ただ、なぜフィルタで弾かれたり、スパム扱いされたりするのか不明。

困った挙句、サーバー業者に問い合わせてみた。サーバー業者によれば、そもそもmb_send_mail自体が嫌われる傾向があり、さらにその手法で送信されるメールは弾かれることもあるという。具体的には、mb_send_mailから配信したメールを受信してみると、receivedのところがnobody(=名無しのような意味)となっているのが好ましくないという。メール配信数は運用しているサイトによって異なるが、数十件から300件あまり。この件数がメール到達率に影響している可能性もなくはないが、とりあえず、mb_send_mailでの配信は取りやめる方向に。mb_send_mailを使ったメール配信に関する参考書やサイトはこれだけ溢れているのに?という疑問が起きたことは言うまでもないが、phpのmb_send_mailによるメール配信はメール到達率100%はむずかしいのではないかという結論に至る。

数日のうちに、pearmailによる配信に切り替えた。送信ボタンを押してから配信にかかる時間はこれまでとほぼ変わらない。先述のreceivedのところがホスト名(IPアドレス)のようになり、名無しからの配信ではなくなった。これで到達率が上がれば良いのだが、少なくとも、RBLにマークされる要素を1つ消したと思いたい。