• ベストアンサー

phpでmail()関数以外のやり方について

PHPでmailを複数配信するのですが、 マニュアルサイト http://jp.php.net/manual/ja/ref.mail.php でmail()関数 を見ると 『mail() 関数は、大量のメールをループ内で送信するには 向いていないことに注意しましょう。』 とあります。 そして PEAR::Mail http://pear.php.net/package/Mail や PEAR::Mail_Queue http://pear.php.net/package/Mail_Mime を続けて紹介しているのですが ここからは英語なのでサッパリわかりません。 どなたかご教授願えませんか

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

「大量のメール」の量にもよりますが、1時間に 数百通程度なら問題ないのではないでしょうか? (ただし大量におくると上位ISPからスパマーとして 取り締まられる可能性はありますが) とりあえず、system系の関数で、標準出力から sendmailコマンドを使うという手もあります。

noname#17562
質問者

補足

有難う御座います。 >「大量のメール」の量にもよりますが、1時間に数百通程度なら問題ないのではないでしょうか? 一気に千通ぐらい同じ内容で送信したいです。 (スパマーではありません) >(ただし大量におくると上位ISPからスパマーとして取り締まられる可能性はありますが) 何件くらいまで大丈夫ですか? >とりあえず、system系の関数で、標準出力からsendmailコマンドを使うという手もあります。 具体的なサンプルコードどこかに落ちてませんか? あと、ここOKWEBなんかはPHPで画面出しているみたいですが、ここから送られてくるメールマガジンはどんな仕組みで大量配信してるのでしょうか? スパマーとして取り締まられない対策はどうしているのでしょうか?

その他の回答 (1)

  • kaz33
  • ベストアンサー率60% (20/33)
回答No.2

私はopenでSendmailに渡してます。 $fp = popen("/usr/sbin/sendmail -t -f $from", "w") or die("OPEN ERROR"); fputs($fp, "$head") or die("PUTS ERROR1"); fputs($fp, "To: $mail\n") or die("MAIL PUTS ERROR"); fputs($fp, "$body") or die("PUTS ERROR2"); pclose($fp); 大量メール送信は経験ないので何とも言えませんが、 一気に大量のコネクションを取るようなものはスパム扱いになるのではないでしょうか・・ BCCに1000件のアドレス組み込むとかは×かと(^^; 何件までならセーフなのかは分かりません(--;