人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

大量のメールを送信するPHPのプログラムを教えてください。

3000件のメールアドレスに、全て同じ内容のメールを送りたいと思います。
もちろん、全員にアドレスが見えたりなんてしてはいけません。

1通づつ送るのがいいのかなと思っています。

それをできればPHPで送りたいと思っています。
そんなプログラムはありませんか?

HTMLメールや添付はしません。
メールマガジンの配信として利用したいと思っています。

なお、メールアドレスはCSVファイルであります。

一度に3000件を送信しないで、手動で数回に分けても結構です。

ちなみに、専用サーバを借りているのですが、一括で送信できるメールの件数の目安はどの程度なのでしょうか?

※PHPのmail関数とかでループして送ってもいいような気がするのですが、
スパムフィルタに引っかかりそうな気がするので、その辺に気を使っているものがいいです。

●質問者: dingding
●カテゴリ:インターネット ウェブ制作
✍キーワード:CSV HTML PHP アドレス サーバ
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● KUROX
●23ポイント

From 発信者

To 発信者

BCC XXXXX,YYYYY,ZZZZ

のようにBCCに並べれる数(仕様制限?)だけ並べる。

100件ぐらいは並べれるでしょう。

仕様を調べてみてください。

これをある程度のウエイトをかけて連続して送信する

100件(1通)を30回で送ることになります

ウエイトは2分ぐらいにとると60分で処理が終わります

スパムフィルタに引っかかるのはある程度仕方が

ないと思います。現に、

◎質問者からの返答

具体的なプログラムに関する情報を教えてください。


2 ● xxxatsxxx
●23ポイント

以下の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);

◎質問者からの返答

ありがとうございます!

後で、コードをしっかり見てみようと思います。


3 ● KUROX
●22ポイント

■PHPのCGI

http://www.k-sky.biz/mailing.html

■Perlでよいなら

http://asahikawa-s.com/cgi/yomi-db/html/02_11.html

使い方によってはそのままつかえそうな。

メルマガ発行だったら。

>ちなみに、専用サーバを借りているのですが、

>一括で送信できるメールの件数の目安はどの程度なのでし

>ょうか?

専用サーバーなので3000通ぐらいは、ある程度ウエイトを入れれば

問題ないと判断されると思いますが、借りている会社の方針に

よると思います。

◎質問者からの返答

ありがとうございます。


4 ● minkpa
●22ポイント

http://www.bizassist-jp.com/dmmailer.html

メール一括送信ソフト

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ