以下に添付図面を参照して、本実施形態に係るメール作成装置、メール送信システムおよびプログラムの一実施形態を詳細に説明する。なお、この適用例によって発明は限定されるものではない。
図1は、実施形態にかかるメール送信システムを示すシステム図である。メール送信システムは、複数台のメール作成装置1と1台のメールサーバ3とを備えている。複数台のメール作成装置1とメールサーバ3は、例えば有線または無線のネットワークのような通信回線Lで相互に接続されている。そのため、各メール作成装置1とメールサーバ3間において、相互に情報の送受信が可能である。また、各メール作成装置1間でも相互に情報の送受信が可能である。
メール作成装置1は、例えばパソコンやタブレット端末のような情報処理装置に、メールソフトウェアをインストールした装置である。メール作成装置1は、自身が起動している状態でメールソフトウェアを起動すると、メールの作成と送信をすることが可能となる。メールとは、日本語または外国語で作成した文章、数字、記号、図、表等の一または複数(以降「文章」という)で構成され、情報を送信先の相手に伝えることがきるものである。メールは、ダイレクトメールや本文に添付された資料等を含む。メール作成装置1は、メールソフトウェアが起動していないと、メールの作成と送信をすることはできない。メール作成装置1は、自身がシャットダウンしていると、メールの作成と送信をすることはできない。
メールソフトウェアは、メール作成装置1にインストールして起動することで、メール作成装置1に対し、メールを作成し送信する機能を生じさせる。
メールソフトウェアを起動させた状態のメール作成装置1(以降、単に「メール作成装置1」という)は、キーボードを備えた操作部18(図2を参照)を用いて送信するメールの文章を作成する。また、メール作成装置1は、作成したメールを、予め自身が記憶している、または入力された送信先のメールアドレスに対して送信する。また、メール作成装置1は、作成したメールを、メールサーバ3に対して送信する。
メールサーバ3は、メール送信ソフトウェアをインストールした、パソコン等で構成された装置である。メール送信ソフトウェアは、メールサーバ3インストールして起動することで、メールサーバ3に対し、メール作成装置1から受信したメールを送信先に送信する機能を生じさせる。
メールサーバ3は、自身が起動している状態でメール送信ソフトウェアを起動すると、メールの送信をすることが可能となる。メールサーバ3は、メール送信ソフトウェアが起動していないと、メールを送信することはできない。メールサーバ3は、自身がシャットダウンしていると、メールを送信することはできない。メールサーバ3は、メール作成装置1から送信されたメールを受信する。メールサーバ3は、メール作成装置1においてメールソフトウェアが起動していなくても、受信したメールを送信先に送信する。メールサーバ3は、メール作成装置1がシャットダウンしていても、受信したメールを送信先に送信する。メールサーバ3は、メール作成装置1から受信したメールを、指定された送信時刻になると送信する。
ところで、作成したメールを多数の送信先に送信する場合、メール作成装置1から多数の送信先に向けて同時にメールを送信すると、メール作成装置1に多大な負荷がかかることがある。メールにファイルを添付して送信する場合には、メール作成装置1にさらに負荷がかかる。また、夜間にメールを送信したい場合に、メールの送信時刻までメール作成装置1を起動していなければならない。そのため、メール作成装置1は、メールサーバ3に対してメールを送信するようにしている。この場合、メール作成装置1をシャットダウンしても、メールサーバ3が、送信先に対してメールを送信する。
メール作成装置1は、メールサーバ3に対してメールを送信する際に、一度にメールを送信する送信先の数、送信間隔、送信時刻を指定する。高スペックのメールサーバ3といえども、多数の送信先に一度にメールを送信すると負荷がかかる。負荷がかかると、場合によってはメールサーバ3がフリーズすることがある。かかる負荷を低減するために、メールサーバ3は、メールの送信先を複数単位に分割して送信することが望ましい。そのため、メール作成装置1において、メールサーバ3が一単位でメールを送信する送信先の数を入力する。例えば、全体で2千の送信先にメールを送信する場合、例えば100の送信先を一単位とした複数の単位の送信先を設定する。この場合、メールサーバ3は、メールを20の単位に分割して送信することになる。
また、かかる負荷を低減するために、メール作成装置1において、メールの単位間の送信間隔を入力する。これは、一単位毎のメールの送信が次の単位と重ならないようにするためである。例えば、一単位においてメールを送信してから次の一単位においてメールを送信するまでの単位間の送信間隔を5分とする。
また、メール作成装置1において、メールサーバ3がメールの送信を開始する送信開始時刻を入力する。メールの送信開始時刻は、メールサーバ3の負荷が軽くなる夜間を指定することが多い。
メール作成装置1は、入力された一単位の数に基づいて、当該数分の送信先を複数単位分作成する。また、メール作成装置1は、入力された送信開始時刻と送信間隔に基づいて、各単位のメールの送信時刻を算出する。例えばメール作成装置1は、100の送信先を一単位として20単位分の送信先と、単位毎の異なる送信時刻を算出する。送信開始時刻が午前1時の場合、単位毎に、1時0分、1時5分、1時10分、・・・と、20単位分の異なる送信時刻を算出する。メール作成装置1は、メールとともに、単位毎に、当該単位に含まれる送信先と算出した送信時刻を関連付けて、メールサーバ3に送信する。メールサーバ3に送信したら、メール作成装置1で起動しているメールソフトウェアをシャットダウンしてもよい。また、メールサーバ3に送信したら、メール作成装置1をシャットダウンしてもよい。
メールサーバ3は、受信したメール、単位毎の送信先と送信時刻を記憶し、単位毎の送信時刻になったら、当該単位の送信先に対してメールを送信する。例えば、メールサーバ3は、メール作成装置1から、メールと、100の送信先を一単位とした20単位分の送信先のメールアドレスと送信時刻を受信する。メールサーバ3は、各単位の送信先に対し、関連付けられた送信時刻になると、受信したメールを送信する。メールサーバ3は、単位の送信先に対し、一度にメールを送信してもよいし、順次メールを送信してもよい。
なお、一単位に含まれる送信先の数は、メールサーバ3のスペック(一度に送信可能な能力)に応じて決める。一単位の送信先数の決め方については、図3で説明する。
ここからは、メール作成装置1のハードウェア構成について説明する。図2は、メール作成装置1のハードウェア構成を示すブロック図である。図2に示すように、メール作成装置1は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、メモリ部14等を備えている。CPU11は制御主体となる。ROM12は各種プログラムを記憶する。RAM13はプログラムや各種データを展開する。メモリ部14は各種プログラムを記憶する。CPU11、ROM12、RAM13、メモリ部14は、互いにバス15を介して接続されている。CPU11とROM12とRAM13が、制御部100を構成する。すなわち、制御部100は、CPU11がROM12やメモリ部14に記憶されRAM13に展開された制御プログラムに従って動作することによって、後述するメール作成装置1に係る制御処理を実行する。
RAM13は、メール部131、入力記憶部132、単位記憶部133を備える。メール部131は作成したメールの文章を記憶する。入力記憶部132は、操作部18から入力された、送信開始時刻、一単位の数、単位間の送信間隔を記憶する。入力記憶部132は、図4で詳しく説明する。単位記憶部133は、一単位の送信先のメールアドレスを単位毎に記憶する。例えば、メールを送信する送信先が2000あり、一単位が100の場合、単位記憶部133は、100の送信先のメールアドレスを20単位に分けて記憶する。
メモリ部14は、電源を切っても記憶情報が保持されるHDD(Hard Disc Drive)やフラッシュメモリ等の不揮発性メモリで構成される。メモリ部14は、制御プログラム部141および送信先記憶部142を備える。制御プログラム部141は、メール作成装置1を制御するための制御プログラムを記憶する。送信先記憶部142は、メールを送信するすべての送信先のメールアドレスを記憶する。
また、制御部100は、バス15およびコントローラ16を介して、表示部17と操作部18と接続している。表示部17は、例えば液晶で構成され、メール作成装置1を操作してメールを作成する操作者に情報を表示する。操作部18は、メールの作成に用いられるキーを備えたキーボードである。操作部18は、通常のキーボードであってもタッチ式のキーボードであってもよい。
また、制御部100は、バス15を介して、通信部19と接続している。通信部19は、通信回線Lを介して、他のメール作成装置1やメールサーバ3と通信可能に接続している。
次に、送信開始時刻、一単位の数、送信間隔の入力について説明する。図3は、メール作成装置の表示部17が表示する分割表示画面17aの一例を示す図である。図3に示すように、分割表示画面17aには、分割送信ボタン171、ポップアップ画面172、送信先173、送信ボタン174、メール作成部175が表示される。
分割送信ボタン171は、メールの送信先を分割して送信する場合に操作する。分割送信ボタン171が操作されると、ポップアップ画面172が分割表示画面17aにポップアップ表示される。図3はポップアップ画面172が表示された状態を示す。ポップアップ画面172は、送信開始時刻部1721、一単位の数部1722、送信間隔部1723、送信ボタン1724、キャンセルボタン1725を表示する。送信開始時刻部1721には、操作部18を操作して入力された、メールの送信開始時刻が表示される。一単位の数部1722は、操作部18を操作して入力された、一単位に送信する送信先の数を表示する。送信間隔部1723は、操作部18を操作して入力された、単位間の送信間隔を表示する。
ここで、一単位の数部1722には、数増減部17221が表示される。また、送信間隔部1723には、数増減部17231が表示される。数増減部17221を操作することで、一単位の数部1722に表示される一単位の数を増減させる。数増減部17231を操作することで、送信間隔部1723に表示される送信間隔を増減させる。
ところで、一単位の数および単位間の送信間隔は、接続されているメールサーバ3のスペックによって上限を設けることが必要である。すなわち、接続されているメールサーバ3が高スペックのメールサーバ3の場合には、一単位の数を大きな数にすることや、単位間の送信間隔を短くすることができる。しかしながら、接続されているメールサーバ3が低スペックのメールサーバ3の場合には、一単位の数を大きな数にしたり単位間の送信間隔を短くすると、メールサーバ3に過度な負荷をかけることになり、メールサーバ3がフリーズする原因となる。そのため、メール作成装置1にメールソフトウェアをインストールする際に、例えばメールサーバ3のバージョン情報等の、メールサーバ3のスペックを判断できる情報を入力することで、数増減部17221によって増減できる一単位の数の上限数を制限するようにするとよい。すなわち、接続されているメールサーバ3が低スペックである場合には、一単位の数の上限数をあまり高くは設定できないような範囲に制限する。また、同様にして、数増減部17231によって増減できる送信間隔の時間を制限する。すなわち、接続されているメールサーバ3が低スペックである場合には、単位間の送信間隔をあまり短くできないような範囲に制限する。なお、サービスマンがメール作成装置1にメールソフトウェアをインストールする場合には、サービスマンがメールサーバ3のスペックを判断し、サービスマンが数増減部17221および数増減部17231による可変の範囲を制限するように設定してもよい。
各単位の送信時刻は、送信開始時刻部1721に表示された送信開始時刻と送信間隔部1723に表示された送信間隔とに基づいて算出される。メールが最初に送信される単位の送信時刻は、送信開始時刻と同じである。2番目に送信される単位の送信時刻は、送信開始時刻+送信間隔で算出される。3番目に送信される単位の送信時刻は、2番目の単位の送信時刻+送信間隔で算出される。以降、最後に送信される単位の送信時刻まで算出する。送信ボタン1724は、作成されたメールと単位毎の送信先を示すメールアドレスを、複数単位分メールサーバ3に送信するボタンである。送信ボタン1724が操作されると、メール作成装置1は、作成されたメール、単位記憶部133に記憶されている、入力された一単位の送信先の数に基づいて単位毎の送信先のメールアドレスを取得し、取得したメールアドレスを、単位毎に複数単位分メールサーバ3に送信する。キャンセルボタン1725は、送信開始時刻部1721、一単位の数部1722、送信間隔部1723に表示された入力をキャンセルする場合に操作する。
送信先173は、メールを送信するすべての送信先のメールアドレスを表示する。送信ボタン174は、作成したメールを、メール作成装置1から、一括して(分割送信しないで)送信する場合に操作する。メール作成部175は、送信するメールの文章を表示するエリアである。操作者が操作部18を操作してメールの文章を作成すると、メール作成部175は当該メールの文章を表示する。
次に、入力記憶部132について説明する。図4は、入力記憶部132の記憶内容を示すメモリマップである。図4に示すように、入力記憶部132は、送信開始時刻部3121、一単位数部1322、送信間隔部1323を有する。送信開始時刻部3121は、操作部18から入力された、メールの送信を開始する時刻を記憶する。一単位数部1322は、操作部18から入力された、一単位におけるメールの送信先の数を記憶する。送信間隔部1323は、操作部18から入力された、単位間のメールの送信間隔(時間)を記憶する。
ここからは、メールサーバ3のハードウェア構成について説明する。図5は、メールサーバ3のハードウェア構成を示すブロック図である。図5に示すように、メールサーバ3は、CPU31、ROM32、RAM33、メモリ部34等を備えている。CPU31は制御主体となる。ROM32は各種プログラムを記憶する。RAM33はプログラムや各種データを展開する。メモリ部34は各種プログラムを記憶する。CPU31、ROM32、RAM33、メモリ部34は、互いにバス35を介して接続されている。CPU31とROM32とRAM33が、制御部300を構成する。すなわち、制御部300は、CPU31がROM32やメモリ部34に記憶されRAM33に展開された制御プログラムに従って動作することによって、後述するメールサーバ3に係る制御処理を実行する。
RAM33は、メール記憶部331を備える。メール記憶部331は、メール作成装置1から受信したメールを記憶する。また、メール記憶部331は、メール作成装置1から受信した、送信先のメールアドレスを、単位毎に記憶する。また、メール記憶部331は、メール作成装置1から受信した、各単位の送信時刻を、各単位に関連付けて記憶する。
メモリ部34は、電源を切っても記憶情報が保持されるHDDやフラッシュメモリ等の不揮発性メモリで構成される。メモリ部34は、制御プログラム部341を備える。制御プログラム部341は、メールサーバ3を制御するための制御プログラムを記憶する。
また、制御部300は、バス35およびコントローラ36を介して、表示部37と操作部38と接続している。表示部37は、例えば液晶で構成され、メールサーバ3の操作者に情報を表示する。操作部38は、キーボードである。操作部38は、通常のキーボードであってもタッチ式のキーボードであってもよい。
また、制御部300は、バス35を介して、通信部39と接続している。通信部39は、通信回線Lを介して、各メール作成装置1と通信可能に接続している。
ここからは、メール作成装置1の機能構成について説明する。図6は、メール作成装置1の機能構成を示した機能ブロック図である。図6に示すように、メール作成装置1の制御部100は、メール作成部101、入力記憶部102、メールアドレス取得部103、送信先判断部104、確認部105、送信時刻算出部106、パスワード判断部107、送信部108として機能する。
メール作成部101は、操作部18から入力された文字情報に基づいてメールを作成する。メール作成部101は、作成したメールをメール部131に記憶する。
入力記憶部102は、図3において操作部18から入力された、メールの送信開始時刻、単位毎の送信先の数、単位間の送信間隔を記憶する。
メールアドレス取得部103は、入力記憶部102に記憶された一単位の数に基づいて、送信先記憶部142に記憶されているメールアドレスから、一単位の数分のメールアドレスを取得する。メールアドレス取得部103は、送信先記憶部142に記憶されているすべてのメールアドレスを取得するまで、複数単位について、一単位の送信数のメールアドレスを取得する。メールアドレス取得部103は、取得したメールアドレスを、単位毎に単位記憶部133に記憶する。
送信先判断部104は、一単位に含まれるメールアドレスを解析し、所定地域(例えば外国)向けのメールアドレスが含まれているかを判断する。送信先判断部104は、例えばメールアドレスのドメインを解析し、所定地域向けのメールアドレスが含まれているかを判断する。
確認部105は、送信先判断部104が所定地域向けのメールアドレスが含まれていると判断した場合に、例えば確認ボタンを分割表示画面17aに表示し、当該単位のメールを送信していいかの是非を確認する。確認部105は、当該確認ボタンが操作された場合に、当該単位のメールの送信が是であると確認する。これは、例えば、多くのメールを外国の送付先に送信する場合に、メールを悪事等に不正使用されることがある。そのため、確認部105は、操作者への警告の意味を示す確認ボタンを表示する。操作者に確認ボタンを操作させることで、不正使用ではないこと(送信先にメールを送信することが是であること)を確認するとともに、メールの不正使用を自重させることができる。
送信時刻算出部106は、送信開始時刻と送信間隔を用いて、単位毎に、当該単位の送信時刻を算出する。送信時刻算出部106は、確認部105が当該単位のメールを送信していいことを確認した場合に、単位毎に、当該単位の送信時刻を算出する。送信時刻算出部106は、送信先判断部104が所定地域向けのメールアドレスが含まれていないと判断した場合に、単位毎に、当該単位の送信時刻を算出する。
パスワード判断部107は、操作部18から入力されたパスワードが正しいパスワードであるかを判断する。正規にメールソフトウェアを購入した人には、パスワードが送付される。パスワードは定期的に変更され、変更されたパスワードは定期的に正規のメールソフトウェアの購入者に送信される。定期的に配信されるバージョンアップ版のメールソフトウェアに変更されたパスワードが予め組み込まれてもよい。定期的に送信されるパスワードは、その度に記憶される。パスワード判断部107は、操作部18から入力されたパスワードと記憶されているパスワードとを比較する。そしてパスワード判断部107は、比較した結果、両パスワードが一致した場合に、入力されたパスワードが正しいと判断する。両パスワードが一致しない場合に、入力されたパスワードが正しいとは判断しない。メールソフトウェアを不正に入手した人には定期的にパスワードが送信されないため、パスワードが変更されると以後パスワードが一致しなくなる。そのため、メールソフトウェアを不正に使用されることがない。
送信部108は、作成したメールと、取得した一単位の数分のメールアドレスと、開始時刻と時間間隔から算出した当該単位のメールの送信時刻とを、複数単位分について、メールを送信先に送信するメールサーバに送信する。また、送信部108は、パスワード判断部107が正しいパスワードであると判断した場合に、メール作成部101が作成したメールと、メールアドレス取得部103が取得した一単位の数分のメールアドレスと、送信時刻算出部106が開始時刻と前記時間間隔から算出した当該単位のメールの送信時刻とを、複数単位分について、メールを送信先に送信するメールサーバ3に送信する。すなわち、送信部108は、パスワード判断部107が正しいパスワードであると判断した場合に、作成したメールと、一単位の数分のメールアドレスと当該単位の送信時刻のセットをメールアドレス取得部103が取得したメールアドレスの単位分送信する。例えばメールの送信先が2000であり、一単位が100の場合、送信部108は、作成したメールと、20(2000÷100)単位分のメールアドレスと送信時間のセットを、メールサーバ3に送信する。また送信部108は、確認部105によってメールとメールを送信する単位のメールアドレスと送信時刻の送信が是であると確認された場合に、メールと当該メールアドレスと送信時刻をメールサーバ3に送信する。
ここからは、メール作成装置1の制御処理について説明する。図7〜図9は、メール作成装置1の制御処理の流れを示すフローチャートである。図7に示すように、メール作成部101は、操作部18から入力された文字情報に基づいてメールを作成する(S11)。そしてメール作成部101は、作成されたメールをメール部131に記憶する(S11)。次に制御部100は、送信ボタン174が操作されたかを判断する(S12)。送信ボタン174が操作されたと判断した場合には(S12のYes)、制御部100は、メール部131に記憶されているメールを、送信先記憶部142に記憶されているすべてのメールアドレスに送信する(S13)。そして制御部100は、S11に戻る。
また、送信ボタン174の操作ではないと判断した場合には(S12のNo)、制御部100は、分割送信ボタン171が操作されたかを判断する(S21)。分割送信ボタン171が操作されたと判断した場合には(S21のYes)、制御部100は、図3に示す分割表示画面17aを表示する(S22)。次に制御部100は、操作部18から送信開始時刻が入力されているかを判断する(S23)。送信開始時刻が入力されていないと判断した場合には(S23のNo)、制御部100はS23で待機する。送信開始時刻が入力されたと判断した場合には(S23のYes)、制御部100は、入力された送信開始時刻を、入力記憶部132に記憶する(S24)。次に制御部100は、操作部18から一単位分の送信先の数が入力されたかを判断する(S25)。一単位分の送信先の数が入力されていないと判断した場合には(S25のNo)、制御部100はS23に戻る。一単位分の送信先の数が入力されたと判断した場合には(S25のYes)、制御部100は、入力された一単位分の送信先の数を、入力記憶部132に記憶する(S26)。次に制御部100は、操作部18から送信間隔が入力されているかを判断する(S27)。送信間隔が入力されていないと判断した場合には(S27のNo)、制御部100はS23に戻る。送信間隔が入力されていると判断した場合には(S27のYes)、制御部100は、入力された送信間隔を、入力記憶部132に記憶する(S28)。
次に制御部100は、送信ボタン1724が操作されたかを判断する(S29)。送信されるまで待機し(S29のNo)、送信ボタン1724が操作されたと判断した場合には(S29のYes)、メールアドレス取得部103は、単位毎のメールアドレスを取得する。すなわち、メールアドレス取得部103は、送信先記憶部142に記憶されているすべてのメールアドレスを取得するまで、複数単位について、一単位の送信数のメールアドレスを取得する(S30)。
次に送信先判断部104は、一単位に含まれるメールアドレスを解析し、所定地域向けのメールアドレスが含まれているかを判断する(S31)。送信先判断部104が所定地域向けのメールアドレスが含まれていると判断した場合には(S31のYes)、確認部105は、送信チェック処理を実行する(S34)。
図8は、確認部105がS34で実行する送信チェック処理を示すフローチャートである。図8において、確認部105は、分割表示画面17a上に、確認ボタン(図示せず)を表示する(S41)。次に確認部105は、確認ボタンが操作されたかを判断する(S42)。確認ボタンが操作されたと判断した場合には(S42のYes)、確認部105は、当該送信先へのメールの送信は是であるとして、S32の処理に進む。一方、確認ボタンが操作されていないと判断した場合には(S42のNo)、確認部105は、S41において確認ボタンを表示してから所定時間が経過したかを判断する(S43)。所定時間が経過していないと判断した場合には(S43のNo)、確認部105は、S42に戻る。一方、所定時間が経過したと判断した場合には(S43のYes)、確認部105は、確認ボタンが操作されないことを示すエラーメッセージを表示部17に表示する(S44)。そして確認部105は、S11に戻る。
図7の説明に戻る。確認ボタンが操作されたと判断した場合には(S42のYes)、あるいは、S31の処理において、送信先判断部104が所定地域向けのメールアドレスが含まれていないと判断した場合には(S31のNo)、送信時刻算出部106は、送信開始時刻と単位間の送信間隔を用いて、各単位の送信時刻を算出する(S32)。
次にパスワード判断部107および送信部108は、メール送信処理を実行する(S33)。図9に、S33におけるメール送信処理、すなわち、パスワード判断部107が実行するパスワード判断処理、および送信部108が実行するメール送信処理のフローチャートを示す。図9に示すように、パスワード判断部107は、操作部18からパスワードが入力されたかを判断する(S51)。操作部18からパスワードが入力されたと判断した場合には(S51のYes)、パスワード判断部107は、入力されたパスワードが正しいパスワードであるかを判断する(S52)。
パスワード判断部107が正しいパスワードであると判断した場合には(S52のYes)、送信部108は、メール作成部101が作成したメールと、メールアドレス取得部103が取得した一単位の数分のメールアドレスと、送信時刻算出部106が開始時刻と時間間隔から算出した当該単位のメールの送信時刻とを、複数単位分について、メールを送信先に送信するメールサーバ3に送信する(S53)。そして制御部100はS11に戻る。一方、S51において、パスワード判断部107がパスワードが入力されていないと判断した場合(S51のNo)、およびパスワード判断部107が入力されたパスワードが正しいパスワードではないと判断した場合には(S52のNo)、制御部100は、パスワードに係るエラーを示すメッセージを表示する(S54)。そして制御部100は、S11に戻る。
ここからは、メールサーバ3の機能構成について説明する。図10は、メールサーバ3の機能構成を示した機能ブロック図である。図10に示すように、メールサーバ3の制御部300は、受信部301、振り分け部302、メール送信部303として機能する。
受信部301は、メール作成装置1が作成したメールと、一単位の数分のメールアドレスと送信時刻を複数単位分、メール作成装置1から受信する。受信部301は、上記メールと複数単位分のメールアドレスと送信時刻を、接続された複数台のメール作成装置1から受信する。受信部301は、メールと一単位の数分のメールアドレスと送信時刻を複数単位分受信したかを判断し、受信したと判断した場合に当該メールと、一単位の数分のメールアドレスと送信時刻を記憶する。
振り分け部302は、受信部301が複数台のメール作成装置1から受信した送信時刻が重なった場合に、当該重なった送信時刻を振り分ける。すなわち、振り分け部302は、複数台のメール作成装置1から受信した各単位における送信時刻を比較し、複数の同一の送信時刻の単位が存在するか(複数の単位の送信時刻が重なっているか)を判断する。振り分け部302は、同一の送信時刻の単位が複数存在すると判断した場合には、送信時刻が重なったと判断する。そして振り分け部302は、いずれかの単位の送信時刻を重ならない別の送信時刻に変更する。また、一つの単位の送信時刻に、他の単位のメールアドレスにメールを送信中の場合にも、振り分け部302は、送信時刻が重なったと判断し、当該単位の送信時刻を重ならない別の送信時刻に変更する。別の送信時刻は、受信した各単位のメールの送信時刻を参照して、空いている時刻に変更された時刻である。
実施形態では、送信間隔を例えば5分としているが、メールサーバ3が、メールを一単位のすべての送信先に送信するのに要する時間は、メールの容量(総バイト数)によっては、あるいはメールサーバ3が高スペックの場合、さほどかからない(例えば1分)ことがある。そのため、振り分け部302は、送信時刻が重なった単位のメールを、空いている時間に変更して送信することが可能である。
メール送信部303は、送信時刻になると、受信したメールを一単位の数分のメールアドレスに送信する。すなわち、メール送信部303は、送信時刻になると、当該送信時間と関連付けされているメールアドレスに対し、メールを送信する。また、メール送信部303は、振り分け部302がメールの送信時刻が重なっていると判断した場合には、振り分け部302が振り分けた送信時刻になったら、前記メールを前記一単位の送信先に送信する。なお、送信時刻が重なった複数の単位におけるメールの容量がいずれも少ない場合は、送信時刻を振り分けることなく、複数の単位のメールアドレスに対し、同時にメールを送信するようにしてもよい。
ここからは、メールサーバ3の制御について説明する。図11は、メールサーバ3の制御処理の流れを示すフローチャートである。図11に示すように、受信部301は、メール作成装置1が作成したメールと、一単位の数分のメールアドレスと送信時刻を複数単位分、メール作成装置1から受信したかを判断する(S61)。メール作成装置1が作成したメールと、一単位の数分のメールアドレスと送信時刻を複数単位分受信したと判断した場合には(S61のYes)、制御部300は、受信したメールと単位毎のメールアドレスと送信時刻を、メール記憶部331に記憶する(S62)。そして制御部300は、S61に戻る。
また、受信部301が、メール作成装置1が作成したメールと一単位の数分のメールアドレスと送信時刻を複数単位分受信していないと判断した場合には(S61のNo)、制御部300は、受信した送信時刻に基づいて、いずれかの単位についてメールを送信する時刻であるかを判断する(S63)。いずれかの単位についてメールを送信する時刻であると判断した場合には(S63のYes)、振り分け部302は、複数の単位の送信時刻が重なっているかを判断する(S64)。振り分け部302が複数の単位の送信時刻は重なっていないと判断した場合には(S64のNo)、メール送信部303は、当該単位のメールアドレスにメールを送信する。そして制御部300は、S61に戻る。
また、振り分け部302が複数の単位の送信時刻が重なっていると判断した場合には(S64のYes)、振り分け部302は、当該複数の単位の送信時刻を、それぞれが重ならないように振り分ける(S66)。そしてメール送信部303は、振り分けられた送信時刻に基づいて、単位毎に、それぞれのメールアドレスにメールを送信する(S67)。そして制御部300は、S61に戻る。
このような実施形態のメール作成装置1は、入力されたメールの送信開始時刻と、一単位の送信先の数と単位間の送信間隔を記憶し、作成されたメールと、前記一単位の送信先の数に基づいて取得した、メールを一度に送信する単位の数分のメールアドレスと、送信開始時刻と送信間隔から算出した各単位のメールを送信する送信時刻を、複数単位分、メールを送信先に送信するメールサーバ3に送信する。そのため、メールサーバ3は、一単位毎に分割して送信時刻にメールを送信することができる。したがって、多数の送信先にメールを送信する場合に、メールサーバに過度の負荷がかからないようにすることができる。
また、実施形態のメール送信システムは、上記メール作成装置1と送信先にメールを送信するメールサーバ3を備える。そして、メールサーバ3は、上記メール作成装置1から受信した単位毎のメールアドレスと送信時刻に基づいて、送信先にメールを送信する。そのため、メールサーバ3は、一単位毎に分割して送信時刻にメールを送信することができる。したがって、多数の送信先にメールを送信する場合に、メールサーバに過度の負荷がかからないようにすることができる。
以上、本発明の実施形態および変形例を説明したが、この実施形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態および変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態および変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、実施形態では、メール送信システムは、複数台のメール作成装置1と1台のメールサーバ3を備えた。しかしながら、メール送信システムは、1台のメール作成装置1と1台のメールサーバ3を備えたものであってもよい。
また、実施形態では、確認部105がメールの送信先が所定地域であるかを確認し、かつパスワード判断部107が正しいパスワードであることを確認した場合に、送信部108がメールを送信するようにした。しかしながら、必ずしも確認部105による確認とパスワード判断部107による判断の両方を必要とするものではない。例えば、確認部105がメールの送信先が所定地域であるかを確認した場合に、送信部108がメールを送信するようにしてもよい。また、例えば、パスワード判断部107が正しいパスワードであることを確認した場合に、送信部108がメールを送信するようにしてもよい。
なお、実施形態のメール作成装置1で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、実施形態のメール作成装置1で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施形態のメール作成装置1で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、実施形態のメール作成装置1で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。