- ベストアンサー
何十万通のメールを配信するシステムについて
こんばんは。 大量メール配信システムを作りたいと思っているのですが なかなか技術的な情報が見つからず困っています。 小さい情報でも結構ですので もし参考になりそうなサイトや、書籍がありましたら教えてください。 # 過去に同様の質問がありましたが # もっと情報がほしかったので質問させていただきました。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> そのシステムのサーバスペックや帯域など サーバはSUN enterprize 220Rです。 でも、それはサーバスペックには関係ないですよ。 我々の作ったメーリングシステムのソフトウェアの仕様を、「qmailからのフィードバックを取って、1通づつTO:に入れてループ送信することにより、受信者には自分だけが宛先となって配信される」としただけです。 ですから、それを1秒間に何通送ることができるかは、回線の太さと混雑度が大きく影響します。 サーバの仕様にも影響されるはずですが、それより回線速度の方がはるかに遅いので、気にならないと思います。 短時間で送るなら、太い回線を使い、サーバ+回線の組み合わせを複数にして並行処理させないと難しいと思いますし。 しかし、そうなると、複数台にまたがった宛先DBのメンテナンスをどうやって同期を取るかなど、別の問題が発生します。 充分検討してください。 ちなみに、我々のシステムの開発言語はCです。 >1時間で10万通・・といった感じの宣伝がありますが そうなんです。上記のように、大量配信には時間がかかるのが常識です。 ですから、短時間配信はPRポイントになるのです。 もちろん、TO:やBCC:にたくさんの宛先を設定すれば、それだけ時間が短く出来ますが、受取人での印象を考えると、1人づつTO:に入れてループさせるべきですよね? しかも、我々のメールは、最初の1行目に、 ○○会社●●様(会員番号:xxxxxx) と自動挿入させていますので、1通づつでないと困るのです。
その他の回答 (2)
- Spur
- ベストアンサー率25% (453/1783)
情報がほとんど無いので、答えに困るのですが、自社サーバで、自分でプログラミングをするとして考えます。 宛先のメアドを入れたDBがあるわけですね? それを1レコードづつ読み込んでループさせるだけで良いと思いますが、単純にループさせると、送り出す処理より、プログラムの処理の方が速いのでうまくいきません。 それにメーラーとして何を使うかにもよりますが、我々はsendmailで失敗し、qmailを使って実現しています。 sendmailはフィードバックが無いので、インターバルが組めません。 qmailでフィードバックを取って、完了を待って次の宛先に送る処理をしています。 1秒に3通送ることができるとしても、何十万通となるととんでもないことになります。 50万通とするとだったい2日かかりますね。 もちろんwebサーバとは分けて、専用サーバで行うべきです。 我々が作ったのは、1秒に5通送るもので3万通ですが、3時間ほどかかっていますので、ネット負荷が少ない夜中に送っています。
お礼
お返事ありがとうございます。 > 宛先のメアドを入れたDBがあるわけですね? はい、そうです。 > 50万通とするとだったい2日かかりますね。 > もちろんwebサーバとは分けて、専用サーバで行うべきです。 はい、専用サーバで行うつもりでいます。 それにしても2日もかかるんですね・・ 業者が行っているメール配信サービスで 1時間で10万通・・といった感じの宣伝がありますが やはり、こういうのは複数のサーバで運用しているのでしょうか? > 我々が作ったのは、1秒に5通送るもので3万通ですが、 > 3時間ほどかかっていますので、ネット負荷が少ない夜中に送っています。 もしよろしければ、そのシステムのサーバスペックや帯域など 教えていただけますと嬉しいです。 よろしくお願いいたします。
- papa0108
- ベストアンサー率20% (348/1659)
たしか大量のメール送信で摘発された業者がありましたよ。 通信事業者に対する業務妨害に当たるとか何とかで。。。 (設備に過大な負荷をかけるため) ご質問の回答でなく恐縮ですが、ご注意下さい。
補足
ご忠告ありがとうございます。 私が考えているものは無差別に配信するようなものでは ありませんので、その点は大丈夫だと思います。
お礼
遅くなりましたが、丁寧な回答ありがとうございました。 とても勉強になりました。