日本イービジネスの技術的メモ等を記述します。

メールの一斉配信には時間をかける

メールの一斉配信は、数時間程度の長い時間をかけて行われる。”いつ行うか”ではなく、”いつからいつまで行うか”の話になるということである。

”メールの一斉配信”と呼称しているので勘違いされやすいのだが、普段OutlookやThunderbirdなどのメーラーで1通だけのメールを送るのとは違い、一瞬で――例えば、午前00時00分00秒から午前00時00分01秒の間に――数万件のメールを送るわけではない。
というのは、それを行うとサーバーの負荷が著しく上がるだけでなく、迷惑メール業者と認識されて、相手方メールサーバからメールの配信を拒否されるおそれがあるためである。

大量のメールを送る場合、実際には時間を分けて小分けにして送る。たとえば1つのサーバで1分に50通といった具合である。「それは少ないのではないか」と思うかもしれないが、1日は1440分あるので、1分あたり50通でも、1サーバーあたり1日で72,000通を送ることができる。単純計算、サーバー10台あれば720,000通である。まず十分だろう。それでも間に合わないほど、会員数が多く大量のメール配信が必要になってしまったならば(喜ばしいことだが)、そのときは、おそらく専用のインフラを整えている専門業者へのアウトソーシングを考えたほうがよいだろう。それだけの会員数を抱えているのであれば、十分に回収できるはずである。

いつからいつまで行うか

さて、いつからいつまでの時間帯にメールの配信を行うべきかだが、上記の事情により、実は1日の送信上限を超えない限り、何時に送っても良い。大量のデータを取り扱うバッチ処理などと違って、ボトルネックとなるのがサーバー負荷ではなく先方のメール配送数制限なので、サーバー負荷の低い時間帯を狙わねばならない理由はあまりないのである。

ただし、正時(00分00秒となる時刻)はメール配信が混み合いやすいので、そこは避けるのがマナーであるようだ。そこで、例えばCRONで設定するなら、下記のように記述するとよいだろう。

#データベースに保管された送信予約メール群から50通を抽出して送信するプログラムを、1〜59分の間毎分実行する
1-59 * * * * send_mail.php

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

メニューサンプル1

管理人/副管理人のみ編集できます