3000件のメールアドレスに、全て同じ内容のメールを送りたいと思います。
もちろん、全員にアドレスが見えたりなんてしてはいけません。
1通づつ送るのがいいのかなと思っています。
それをできればPHPで送りたいと思っています。
そんなプログラムはありませんか?
HTMLメールや添付はしません。
メールマガジンの配信として利用したいと思っています。
なお、メールアドレスはCSVファイルであります。
一度に3000件を送信しないで、手動で数回に分けても結構です。
ちなみに、専用サーバを借りているのですが、一括で送信できるメールの件数の目安はどの程度なのでしょうか?
※PHPのmail関数とかでループして送ってもいいような気がするのですが、
スパムフィルタに引っかかりそうな気がするので、その辺に気を使っているものがいいです。
From 発信者
To 発信者
BCC XXXXX,YYYYY,ZZZZ
のようにBCCに並べれる数(仕様制限?)だけ並べる。
100件ぐらいは並べれるでしょう。
仕様を調べてみてください。
これをある程度のウエイトをかけて連続して送信する
100件(1通)を30回で送ることになります
ウエイトは2分ぐらいにとると60分で処理が終わります
スパムフィルタに引っかかるのはある程度仕方が
ないと思います。現に、
以下のURLのライブラリを使えば設定のみなので楽です。
http://pear.php.net/package/Mail_Queue
一括で送信できるメールの件数の目安ですが、せいぜい60くらいにした方がいいです。送り先に携帯電話のメールアドレスが多い場合はもっと減らした方が安全です。
CSVのデータはDBに入れましょう。
以下PEARから持ってきたサンプル。(1回で最大50件送信)
require_once "Mail/Queue.php";
$db_options['type'] = 'db';
$db_options['dsn'] = 'mysql://user:password@host/database';
$db_options['mail_table'] = 'mail_queue';
$mail_options['driver'] = 'smtp';
$mail_options['host'] = 'localhost';
$mail_options['port'] = 25;
$mail_options['auth'] = false;
$mail_options['username'] = '';
$mail_options['password'] = '';
$mail_queue =& new Mail_Queue($db_options, $mail_options);
$from = 'user@server.com';
$from_name = "Chief";
$recipient = "user2@server.com";
$recipient_name = "admin";
$message = 'Hi! This is test message!! :)';
$from_params = empty($from_name) ? '"'.$from_name.'" <'.$from.'>' : '<'.$from.'>';
$recipient_params = empty($recipient_name) ? '"'.$recipient_name.'" <'.$recipient.'>' : '<'.$recipient.'>';
$hdrs = array( 'From' => $from_params,
'To' => $recipient_params,
'Subject' => "test message body" );
$mime =& new Mail_mime();
$mime->setTXTBody($message);
$body = $mime->get();
$hdrs = $mime->headers($hdrs);
$mail_queue->put( $from, $recipient, $hdrs, $body );
$seconds_to_send = 3600;
$delete_after_send = false;
$id_user = 7;
$mail_queue->put( $from, $recipient, $hdrs, $body, $seconds_to_send, $delete_after_send, $id_user );
$max_ammount_mails = 50;
$mail_queue =& new Mail_Queue($db_options, $mail_options);
$mail_queue->sendMailsInQueue($max_ammount_mails);
ありがとうございます!
後で、コードをしっかり見てみようと思います。
■PHPのCGI
http://www.k-sky.biz/mailing.html
■Perlでよいなら
http://asahikawa-s.com/cgi/yomi-db/html/02_11.html
使い方によってはそのままつかえそうな。
メルマガ発行だったら。
>ちなみに、専用サーバを借りているのですが、
>一括で送信できるメールの件数の目安はどの程度なのでし
>ょうか?
専用サーバーなので3000通ぐらいは、ある程度ウエイトを入れれば
問題ないと判断されると思いますが、借りている会社の方針に
よると思います。
ありがとうございます。
具体的なプログラムに関する情報を教えてください。