(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-06
(45)【発行日】2024-08-15
(54)【発明の名称】プログラム、メールサーバ及び方法
(51)【国際特許分類】
H04L 51/00 20220101AFI20240807BHJP
H04L 67/00 20220101ALI20240807BHJP
【FI】
H04L51/00
H04L67/00
(21)【出願番号】P 2020077090
(22)【出願日】2020-04-24
【審査請求日】2023-04-11
(73)【特許権者】
【識別番号】500542745
【氏名又は名称】HENNGE株式会社
(74)【代理人】
【識別番号】100090387
【氏名又は名称】布施 行夫
(72)【発明者】
【氏名】荒川 涼太
(72)【発明者】
【氏名】福冨 裕
【審査官】木村 雅也
(56)【参考文献】
【文献】特開2010-273372(JP,A)
【文献】特開2017-028666(JP,A)
【文献】特開2010-057195(JP,A)
【文献】特開2014-204232(JP,A)
【文献】特開2013-168711(JP,A)
【文献】特開2016-072809(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 51/00
H04L 67/00
(57)【特許請求の範囲】
【請求項1】
電子メールを配送するメールサーバのためのプログラムであって、
電子メールを受け付ける処理を行う受け付け部と、
前記電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得するホスト取得部と、
前記ホストに基づき、前記電子メールを調整対象とするか否か判定する判定部と、
前記電子メールを調整対象とする場合に、前記電子メールの配送タイミングを調整して配送する処理を行う配送部として、コンピュータを機能させ、
前記判定部は、
前記ホストの文字列が、
インターネットに接続される端末において電子メールの送受信情報を閲覧でき当該電子メールを作成可能に制御されるクラウド型メールサービスを提供するクラウド型メールサーバを示す文字列を含む場合に、前記電子メールを調整対象とすることを特徴とするプログラム。
【請求項2】
請求項1において、
前記判定部は、
前記電子メールの宛先のドメインの文字列が、クラウド型メールサーバを示す文字列を含まない場合であっても、前記ホストの文字列が、クラウド型メールサーバを示す文字列を含む場合に、前記電子メールを調整対象とすることを特徴とするプログラム。
【請求項3】
請求項1又は2において、
前記配送部は、
調整対象の電子メールについて、配送間隔、及び、同時に配送する電子メールの配送数の少なくとも一方を調整して配送する処理を行うことを特徴とするプログラム。
【請求項4】
請求項3において、
前記配送部は、
調整対象の電子メールについて、時間経過に応じて前記配送間隔を短くする処理、及び
、時間経過に応じて前記配送数を多くする処理、の少なくとも一方を行うことを特徴とするプログラム。
【請求項5】
請求項1~4のいずれかにおいて、
前記ホスト取得部によって取得したホストに基づき、DNSサーバから接続先アドレスを取得する接続先アドレス取得部と、
前記電子メールを配送する際に接続した前記接続先アドレスへの接続を保持するコネクションプール部と、
前記接続先アドレスへの接続を保持している場合に、前記電子メールの前記ドメインと、前記ホスト取得部によって取得したホストと、前記接続先アドレスと、を対応付けて記憶部に記憶する処理を行うコネクション情報管理部として、コンピュータを更に機能させ、
前記ホスト取得部が、
新たに受け付けた電子メールの宛先のドメインに基づいて、MXレコードのホストを取得し、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されている場合に、当該ドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理、
新たに受け付けた電子メールの宛先のドメインに基づいて取得されたホストが前記記憶部に記憶されている場合に、当該ホストに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理、
前記ホストに基づいて取得された接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理、を少なくとも1つ行うことを特徴とするプログラム。
【請求項6】
請求項1~5のいずれかにおいて、
前記判定部は、
前記ホストの文字列が、クラウド型メールサーバを示す文字列を含む場合に、前記電子メールをクラウド用の調整対象とし、
前記ホストの文字列が、クラウド型メールサーバを示す文字列を含まない場合に、前記電子メールを他の調整対象とし、
前記配送部は、
前記電子メールをクラウド用の調整対象とする場合に、クラウド用の調整情報に基づいて、前記電子メールの配送タイミングを調整して配送する処理を行い、
前記電子メールを他の調整対象とする場合に、他の調整情報に基づいて、前記電子メールの配送タイミングを調整して配送する処理を行うことを特徴とするプログラム。
【請求項7】
請求項1~6のいずれかに記載のプログラムを記憶した記憶部と、
前記プログラムを実行するためのプロセッサと、を備えるメールサーバ。
【請求項8】
電子メールを配送するメールサーバの方法であって、
電子メールを受け付ける処理を行うステップと、
前記電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得するステップと、
前記ホストに基づき、前記電子メールを調整対象とするか否か判定するステップと、
前記電子メールを調整対象とする場合に、前記電子メールの配送タイミングを調整して配送する処理を行うステップと、を含み、
前記判定するステップは、
前記ホストの文字列が、インターネットに接続される端末において電子メールの送受信
情報を閲覧でき当該電子メールを作成可能に制御されるクラウド型メールサービスを提供するクラウド型メールサーバを示す文字列を含む場合に、前記電子メールを調整対象とすることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム及びメールサーバに関する。
【背景技術】
【0002】
近年、ユーザの利便性からクラウド型のメールサービスが利用されることが多い。クラウド型メールサービスは、ユーザにとってみれば、ログイン情報さえ把握していれば、どの端末からでもアクセス可能となり気軽に電子メールをチェックすることができるメリットがある。また、メールの管理者にとってみれば、クラウド型メールサービスは、メールサーバを運用する煩わしさがない、災害時においても支障が少ない等のメリットがある。
【0003】
また、従来技術として、メールサーバにおいてコネクションプールの技術を利用し、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることが可能なプログラム及びメールサーバを提供するものがある(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
メールサーバは、宛先のドメインに基づきDNSサーバ(DNSは「ドメインネームシステム(Domain Name System)」の略。以下、同様)に問い合わせ、接続先(配送先)のIPアドレス(IPは「インターネットプロトコル(Internet Protocol)」の略。以下、同様)を取得し、IPアドレスのメールサーバで通信を行う通信路を確立して電子メールを配送する。
【0006】
そして、クラウド型メールサービスを利用する場合、クラウド型メールサービスを提供するメールサーバ(以下、クラウド型メールサーバという。)は、大量の電子メールを集中的に受け付けることになり、過大な処理負荷がかかることがある。その結果、配送元のメールサーバからクラウド型メールサーバに電子メールを配送する場合、配送元のメールサーバから配送された電子メールについて、クラウド型メールサーバ側で受け付けを拒否される事態となり、当該電子メールを速やかに配送できなくなる問題が発生してしまうことがあった。
【0007】
本発明は、上述した課題に鑑みたものであり、その目的は、クラウド型メールサービスを利用する場合において、クラウド型メールサーバに対して集中的に配送することを避けることによって、クラウド型メールサーバの処理負荷を軽減させ、電子メールを速やかに宛先に配送することが可能なプログラム及びメールサーバを提供することにある。
【課題を解決するための手段】
【0008】
(1)本発明は、
電子メールを配送するメールサーバのためのプログラムであって、
電子メールを受け付ける処理を行う受け付け部と、
前記電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得するホスト取得部と、
前記ホストに基づき、前記電子メールを調整対象とするか否か判定する判定部と、
前記電子メールを調整対象とする場合に、前記電子メールの配送タイミングを調整して
配送する処理を行う配送部として、コンピュータを機能させ、
前記判定部は、
前記ホストの文字列が、クラウド型メールサーバを示す文字列を含む場合に、前記電子メールを調整対象とすることを特徴とするプログラムに関する。
【0009】
また、本発明は、上記プログラムを記憶した情報記憶媒体、及び、上記各部として構成するメールサーバに関係する。
【0010】
本発明によれば、電子メールの宛先のドメインに基づくホストを取得し、当該ホストの文字列が、クラウド型メールサーバを示す文字列を含む場合に、電子メールを調整対象とするので、クラウド型メールサービスを利用する場合において、クラウド型メールサーバに対して集中的に電子メールを配送することを避けることができ、その結果、クラウド型メールサーバの処理負荷を軽減させ、電子メールを速やかに宛先に配送することが可能となる。
【0011】
(2)また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記判定部は、
前記電子メールの宛先のドメインの文字列が、クラウド型メールサーバを示す文字列を含まない場合であっても、前記ホストの文字列が、クラウド型メールサーバを示す文字列を含む場合に、前記電子メールを調整対象とするようにしてもよい。
【0012】
電子メールの宛先のドメインの文字列が、クラウド型メールサーバを示す文字列を含まない場合、自社でメールサーバを運用せずクラウド型メールサービスを利用していることが明らかである。このようなケースにおいて、本発明は、クラウド型メールサービスを利用する電子メールについて、確実に調整対象となるように制御することができる。
【0013】
(3)また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記配送部は、
調整対象の電子メールについて、配送間隔、及び、同時に配送する電子メールの配送数の少なくとも一方を調整して配送する処理を行うようにしてもよい。
【0014】
本発明によれば、配送間隔、及び、同時に配送する電子メールの配送数の少なくとも一方を調整して配送するので、適切な配送タイミングの調整を行うことができる。
【0015】
(4)また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記配送部は、
調整対象の電子メールについて、時間経過に応じて前記配送間隔を短くする処理、及び、時間経過に応じて前記配送数を多くする処理、の少なくとも一方を行うようにしてもよい。
【0016】
本発明によれば、クラウド型メールサーバに対して、段階的に負荷をかけていくような配送タイミングの調整を行うことができ、配送効率と処理負荷とのバランスを考慮した調整を行うことができる。
【0017】
(5)また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記ホスト取得部によって取得したホストに基づき、DNSサーバから接続先アドレスを取得する接続先アドレス取得部と、
前記電子メールを配送する際に接続した前記接続先アドレスへの接続を保持するコネクションプール部と、
前記接続先アドレスへの接続を保持している場合に、前記電子メールの前記ドメインと
、前記ホスト取得部によって取得したホストと、前記接続先アドレスと、を対応付けて記憶部に記憶する処理を行うコネクション情報管理部として、コンピュータを更に機能させ、
前記ホスト取得部が、
新たに受け付けた電子メールの宛先のドメインに基づいて、MXレコードのホストを取得し、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されている場合に、当該ドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理、
新たに受け付けた電子メールの宛先のドメインに基づいて取得されたホストが前記記憶部に記憶されている場合に、当該ホストに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理、
前記ホストに基づいて取得された接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理、を少なくとも1つ行うようにしてもよい。
【0018】
ここで、接続先アドレスとは、電子メールを配送するための配送先のメールサーバのネットワーク上のアドレスであり、例えば、IPアドレス(IPv4、IPv6などのIPでネットワーク上の機器を識別するために指定するネットワーク層における識別番号)である。
【0019】
本発明によれば、新たに受け付けた電子メールの宛先のドメイン、当該ドメインに基づいて取得されたホスト、或いは、当該ホストに基づいて取得された接続先アドレスが記憶部に記憶されている場合に、一部の処理を(例えば、接続の処理)を省略して電子メールを配送することができるので、メールサーバの処理負荷を減らすことができる。
【0020】
(6)また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記判定部は、
前記ホストの文字列が、クラウド型メールサーバを示す文字列を含む場合に、前記電子メールをクラウド用の調整対象とし、
前記ホストの文字列が、クラウド型メールサーバを示す文字列を含まない場合に、前記電子メールを他の調整対象とし、
前記配送部は、
前記電子メールをクラウド用の調整対象とする場合に、クラウド用の調整情報に基づいて、前記電子メールの配送タイミングを調整して配送する処理を行い、
前記電子メールを他の調整対象とする場合に、他の調整情報に基づいて、前記電子メールの配送タイミングを調整して配送する処理を行うようにしてもよい。
【0021】
本発明によれば、電子メールの配送について、クラウド用の調整と、他の調整を行うことができ、配送先に応じて処理負荷をバランスよく軽減することができる。
【図面の簡単な説明】
【0022】
【
図2】本実施形態のメールサーバの機能ブロック図の一例。
【
図3】本実施形態の電子メールを調整対象とするか否か判定する処理の説明図。
【
図4】本実施形態の調整対象の電子メールの配送を説明するための図。
【発明を実施するための形態】
【0023】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0024】
[1]ネットワーク
図1は、本実施形態のネットワーク図の一例である。本実施形態のメールサーバ10は、SMTPを通じてネットワーク上で電子メールの受け付け(受信)と配送を行うMTA(Mail Transfer Agent)である。
【0025】
メールサーバ10は、配送処理に用いるエンベロープの宛先(宛先メールアドレス)及びエンベロープの差出元(差出元メールアドレス)、メッセージとからなる電子メールを受信し、ネットワークを介して受信した当該電子メールを、エンベロープの宛先に基づいて配送先メールサーバ(送信先メールサーバ)に配送する処理を行う。
【0026】
より詳しく説明すると、メールサーバ10は、MUA(Mail User Agent)から送信された電子メールを受け付ける。なお、MUAとは、インターネット上の端末において電子メールを送受信するために使用されるクライアントプログラムである。
【0027】
次に、メールサーバ10は、受信した電子メールのエンベロープの宛先のドメインを管理しているDNSサーバや、メールサーバ10のローカルエリア内のDNSサーバ、或いは他のDNSサーバに、受信した電子メールのエンベロープの宛先のドメインのMXレコードのホストを問い合わせる。例えば、メールサーバ10は、DNSサーバに宛先のドメインのMXレコードを問い合わせ、宛先のドメインのホストを取得する。
【0028】
そして、メールサーバ10は、受信した電子メールのエンベロープの宛先のドメインのMXレコードのホストを取得できた場合には、当該ホストのIPアドレスを問い合わせる。また、メールサーバは、受信した電子メールのエンベロープの宛先のドメインのMXレコードのホストを取得できなかった場合には、当該ドメインをホストに指定してIPアドレスを問い合わせる。例えば、メールサーバ10は、DNSサーバに当該ホストのAレコード(IPv6の場合はAAAAレコード、以下同じ)を問い合わせ、ホストのIPアドレスを取得する。つまり、このIPアドレスが、配送先メールサーバの配送先アドレスとなる。
【0029】
そして、メールサーバ10は、IPアドレスに基づき配送先メールサーバと接続を確立し、電子メールを配送(配信、送信、転送、リレー)する処理を行う。
【0030】
なお、本実施形態のメールサーバ10が電子メールを受け付けるとは、SMTPを通じて、端末から電子メールを受け付ける場合、及び、SMTPを通じて他のメールサーバから配送された電子メールを受け付ける場合を含む。
【0031】
また、本実施形態のメールサーバ10が電子メールを配送するとは、SMTPを通じて、受信した電子メールを他のメールサーバに配送する処理や、メールサーバ10が稼動する同一システム内にアカウントを持つユーザ宛に配送するためのローカル配信エージェントMDA(Mail Delivery Agent)に配送する処理、MDAを介せずにメールサーバが稼動する同一システム内にアカウントを持つユーザ宛にローカル配送する処理を含む。
【0032】
[2]メールサーバの構成
図2は、本実施形態のメールサーバ10の機能ブロック図の一例である。なお、本実施形態のメールサーバ10は、
図2の各部を全て含む必要はなく、その一部を省略した構成
としてもよい。
【0033】
記憶部170は、処理部100などのワーク領域となるもので、その機能はRAM(VRAM)などのハードウェアにより実現できる。
【0034】
本実施形態の記憶部170には、コネクション情報171を含む。コネクション情報171は、プーリングされているコネクションの情報である。コネクション情報は、ホストと、当該ホストに基づいてDNSサーバから取得した接続先アドレス(例えば、接続先のメールサーバのIPアドレス)とを対応付けた情報とする。なお、コネクション情報は、ドメインと、当該ドメインに基づいてDNSサーバから取得したホスト、当該ホストに基づいてDNSサーバから取得した接続先アドレスとを対応付けた情報としてもよい。
【0035】
なお、記憶部170には、受け付け部111によって受け付けた電子メールを一時的に格納するためのスプール領域(記憶領域)を確保してもよい。なお、スプール領域に記憶された電子メールは、配送処理が完了(配送正常終了あるいは配送エラー終了)すると、スプール領域から削除される。なお、配送エラー終了の場合、つまり、配送先メールサーバに配送できない電子メールについては、再度、スプール領域に格納される。
【0036】
また、情報記憶媒体180は、コンピュータにより読み取り可能であり、この情報記憶媒体180にはプログラムやデータなどが格納されている。即ち、情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。つまり、処理部100は、この情報記憶媒体180に格納されるプログラム(データ)から読み出されたデータに基づいて本実施形態の種々の処理を行うことができる。
【0037】
例えば、情報記憶媒体180は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)、メモリカード等である。
【0038】
処理部100は、記憶部170に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。なお、本実施形態の処理部100が、情報記憶媒体180に格納されているプログラムやデータを読み出し、読み出したプログラムやデータを記憶部170に格納し、そのプログラムやデータに基づいて処理を行ってもよい。
【0039】
処理部100(プロセッサ)は、記憶部170内の主記憶部をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)などのハードウェアや、プログラムにより実現できる。
【0040】
処理部100は、受け付け部111、ホスト取得部112、判定部113、接続先アドレス取得部114、コネクションプール部116、コネクション情報管理部117、配送部118と、を含む。
【0041】
受け付け部111は、端末(コンピュータ、携帯電話、タブレット型コンピュータ、スマートフォン)のMUAによって、差出元から送信され、エンベロープの宛先が指定された電子メールを受け付ける処理(受信する処理)を行う。
【0042】
ホスト取得部112は、電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得する。
【0043】
判定部113は、ホスト取得部112によって、電子メールの宛先のドメインに基づい
て取得されたホストに基づき、電子メールを調整対象とするか否か判定する。
【0044】
例えば、判定部113は、ホストの文字列が、クラウド型メールサーバを示す文字列を含む場合に、電子メールを調整対象(例えば、クラウド用の調整対象)とする。
【0045】
また、判定部113は、電子メールの宛先のドメインの文字列が、クラウド型メールサーバを示す文字列を含まない場合であっても、ホストの文字列が、クラウド型メールサーバを示す文字列を含む場合に、電子メールを調整対象とする。
【0046】
また、判定部113は、ホストの文字列が、クラウド型メールサーバを示す文字列を含まない場合に、電子メールを他の調整対象とする。
【0047】
例えば、判定部113は、電子メールの宛先ドメインが特定ドメインである場合に、当該電子メールを「特定ドメイン用の調整対象」の電子メールと判定する。
【0048】
例えば、判定部113は、ホストの文字列が、クラウド型メールサーバを示す文字列を含まない場合であって、かつ、電子メールの宛先ドメインが特定ドメインでない場合に、当該電子メールを「デフォルトの調整対象」の電子メールと判定する。
【0049】
接続先アドレス取得部114は、ホスト取得部112によって取得したホストに基づき、DNSサーバから接続先アドレスを取得する。
【0050】
コネクションプール部116は、電子メールを配送する際に接続した接続先アドレスへの接続を保持(維持)する処理を行う。例えば、接続先アドレスへの接続は所定の期間(タイムアウトが到来するまで)、保持され、所定の期間経過後は切断する。
【0051】
また、コネクションプール部116は、複数の接続を保持してもよい。例えば、同一又は異なる複数の接続先アドレスへの接続を保持してもよい。
【0052】
コネクション情報管理部117は、電子メールを配送する際に接続した接続先アドレスへの接続を保持している場合に、宛先のドメインと、ホスト取得部112によって取得したホストと、当該接続先アドレスと、を対応付けて記憶部170に記憶する処理を行う。
【0053】
つまり、ホスト取得部112によって取得したホストと、当該接続先アドレスと、を一組のコネクション情報として記憶部170に記憶(登録)する処理を行う。
【0054】
なお、電子メールの宛先のドメイン、当該電子メールの宛先のドメインのMXレコードのホスト、当該電子メールの接続先アドレスを一組のコネクション情報として記憶部170に記憶(登録)する処理を行うようにしてもよい。
【0055】
また、コネクション情報管理部117は、複数の接続が保持されている場合には、接続毎に、コネクション情報を記憶部に記憶する処理を行う。
【0056】
配送部118は、受け付けた電子メールを配送する処理を行う。
【0057】
例えば、配送部118は、電子メールの宛先メールドレスのドメイン(又は当該ドメインに基づき取得したホスト)に基づいて、DNSサーバから取得した接続先アドレスに接続して電子メールを配送する処理を行う。
【0058】
配送部118は、電子メールを調整対象とする場合に、当該電子メールの配送タイミン
グを調整して配送する処理を行う。
【0059】
例えば、配送部118は、調整対象の電子メールについて、配送間隔、及び、同時に配送する電子メールの配送数の少なくとも一方を調整して配送する処理を行う。また、配送部118は、調整対象の電子メールについて、時間経過に応じて配送間隔を短くする処理、及び、時間経過に応じて配送数を多くする処理、の少なくとも一方を行うようにしてもよい。
【0060】
また、配送部118は、新たに受け付けた電子メールの宛先のドメインに基づいて取得されたホストが記憶部170に記憶されている場合に、当該ホストに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うようにしてもよい。
【0061】
また、配送部118は、新たに電子メールを受け付けた場合に当該電子メールの宛先のドメインが記憶部170に記憶されている場合に、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うようにしてもよい。
【0062】
また、配送部118は、新たに受け付けた電子メールの宛先のドメインに基づいてホストが取得され、更に、当該ホストに基づいて接続先アドレスを取得され、取得された接続先アドレスが記憶部170に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うようにしてもよい。
【0063】
また、配送部118は、電子メールをクラウド用の調整対象とする場合に、クラウド用の調整情報に基づいて、電子メールの配送タイミングを調整して配送する処理を行う。
【0064】
また、配送部118は、電子メールを他の調整対象とする場合に、他の調整情報に基づいて、電子メールの配送タイミングを調整して配送する処理を行う。
【0065】
例えば、配送部118は、特定ドメイン用の調整対象の電子メールについて、予め定められた「特定ドメイン用の調整情報」(他の調整情報の一例)に基づき、配送タイミングを調整して配送する。
【0066】
また、配送部118は、デフォルトの調整対象の電子メールについて、予め定められた「デフォルトの調整情報」(他の調整情報の一例)に基づき、配送タイミングを調整して配送する。
【0067】
[3]配送の概要
本実施形態のメールサーバは、電子メールを受け付けると、DNSサーバにアクセスし、当該電子メールのエンベロープの宛先のドメインのMXレコードを問い合わせ、接続先(配送先)のホストを取得する。そして、ホストを取得できた場合には、DNSサーバにAレコードを問い合わせ、配送先のホストの接続先アドレス(例えば、IPアドレス)を取得する。メールサーバは、取得したIPアドレスにTCP(Transmission
Control Protocol)で接続(コネクション)を確立しSMTPで電子メールを配送する処理を行う。
【0068】
[4]クラウド型メールサーバ
ところで、従来、主流となっていた自社で保有するシステムでメールサーバを運用する場合(いわゆるオンプレミスの場合)、管理者は、メールサーバの設定や、通信回線の設定、電子メールを格納する記憶領域(ハードウエア)やメールサーバを運用する装置の確保、これらに付随するサービスの設定が必要であった。また、自社運用のメールサーバは
、初期費用がかかり、災害時の復旧が困難である等のデメリットがある。
【0069】
そのため、近年では、管理者の負担が軽減されるクラウド型メールサービスを利用するする企業やユーザが多い。クラウド型メールサービスを提供するメールサーバ(以下、クラウド型メールサーバという。)は、インターネットに接続される端末であれば、どの端末からでもアクセス可能となるように制御されている。例えば、端末のWebブラウザを用いて、ユーザがログインすれば、当該ユーザの電子メール情報(電子メールの送信情報や、電子メールの受信情報)を閲覧でき、ユーザはWeb上で電子メールを作成することもできる。
【0070】
また、クラウド型メールサービスは、電子メールを格納する記憶領域(ハードウエア)やメールサーバを運用する装置、メールサーバの設定や、通信回線の設定、これらに付随するサービスの設定は、クラウド型メールサービスを提供する側にあり、管理者の負担は少なくなる。また、管理者は、クラウド型メールサービスを利用するにあたって、自社のドメインについてのDNSサーバに対するMXレコードのホストを設定する等、簡単な設定作業を行う必要はある。
【0071】
[5]配送の調整対象
特に、本実施形態のメールサーバ10は、受け付けた電子メールの宛先のドメインについてDNSサーバから取得したホストに基づき、電子メールを調整対象とするか否か判定する。つまり、メールサーバ10は、当該ホストが、予め定めたクラウド型メールサーバに関するホストであるか否かを判定し、当該ホストが、予め定めたクラウド型メールサーバに関するホストであると判定される場合、当該電子メールを配送の調整対象とする。
【0072】
[5.1]電子メールの宛先のホストの取得
まず、メールサーバ10は、電子メールを受け付けると、DNSサーバから当該電子メールの宛先のドメインに基づいて、MXレコードの電子メールの宛先のホストを取得する。
【0073】
例えば、メールサーバ10は、メッセージID=001の電子メールを受け付け、当該電子メールの宛先が「suzuki@ifyyy.gr.jp」とする。すると、メールサーバ10は、ドメイン「ifyyy.gr.jp」に基づいて、DSNサーバからMXレコードのホストを問い合わせる。例えば、メールサーバ10は、当該ホストが「ppp1.zzz.com」である情報を受信する。なお、メッセージIDは、電子メールを識別するために割り振られる固有の識別情報である。
【0074】
[5.2]調整対象か否かの判定処理
そして、メールサーバ10は、DNSサーバから取得したホスト(例えば、「ppp1.zzz.com」)の文字列に、クラウド型メールサーバを示す文字列(例えば、zzz.com)が含まれる場合に、電子メールを調整対象とする。
【0075】
ここで、「クラウド型メールサーバを示す文字列」とは、クラウド型メールサービスを提供するホストを推定し得る文字列である。また、「クラウド型メールサーバを示す文字列」は、1つでもよいし複数でもよい。「クラウド型メールサーバを示す文字列」が複数である場合、DNSサーバから取得したホストの文字列が、いずれかのクラウド型メールサーバを示す文字列を含む場合に、当該電子メールを調整対象とする。
【0076】
メールサーバ10は、クラウド型メールサーバを示す文字列を、管理者からの入力情報に基づき、予め設定可能にする。
図3は、クラウド型メールサーバを示す文字列60の一例を示す。例えば、管理者はコンピュータによる所定のコマンド(例えば、nslook
upやdig等)に基づき、クラウド型メールサーバのMXレコードの文字列をDNSサーバから取得し、当該管理者の操作入力に基づき、当該文字列の独自ドメイン(例えば、zzz.com)を、「クラウド型メールサーバを示す文字列」として設定する。
【0077】
また、「DNSサーバから取得したホストの文字列が、クラウド型メールサーバを示す文字列を含む場合」とは、例えば、DNSサーバから取得したホストの文字列の一部(例えば、独自ドメイン部分)が、予め定めたクラウド型メールサーバを示す文字列と一致すること(部分一致)、又は、DNSサーバから取得したホストの文字列そのものが、予め定めたクラウド型メールサーバを示す文字列と一致すること(完全一致)、等である。
【0078】
例えば、
図3に示すように、電子メールの宛先が「suzuki@ifyyy.gr.jp」のドメイン「ifyyy.gr.jp」に基づき取得したホストが「ppp1.zzz.com」である場合、当該ホスト「ppp1.zzz.com」の独自ドメイン部分「zzz.com」が、予め定めたクラウド型メールサーバを示す文字列の「zzz.com」と一致するので、当該電子メールを調整対象とする、と判定する。
【0079】
このように、本実施形態によれば、電子メールの宛先のドメインの文字列(例えば、ifyyy.gr.jp)に、クラウド型メールサーバを示す文字列(例えば、zzz.com)が含まれない場合であっても、ホストの文字列(例えば、ppp1.zzz.com)に、クラウド型メールサーバを示す文字列(例えば、zzz.com)が含まれる場合に部分一致するので、電子メールを調整対象とする。
【0080】
つまり、本実施形態によれば、ホストに着目して調整対象とするか否かを判定するので、クラウド型メールサービスを利用する電子メールについて、確実に調整対象となるように制御することができる。
【0081】
また、
図3に示すように、電子メールの宛先が「yamada@ifzzz.gr.jp」であり、当該ドメインのホストが「zzz.com」である場合、当該ホスト「zzz.com」が、予め定めたクラウド型メールサーバを示す文字列の「zzz.com」と一致(完全一致)するので、当該電子メールを調整対象とする、と判定する。
【0082】
なお、電子メールの宛先が「tanaka@zzz.com」であり、当該ドメインのホストが「zzz.com」である場合、当該ホスト「zzz.com」が、予め定めたクラウド型メールサーバを示す文字列の「zzz.com」と一致(完全一致)するので、当該電子メールを調整対象とする、と判定する。つまり、メールサーバ10は、電子メールの宛先のドメイン部分が、結果的に予め定めたクラウド型メールサーバを示す文字列の「zzz.com」と一致(部分一致又は完全一致)し、当該電子メールを調整対象とすると判定する場合もあり得る。
【0083】
[5.3]調整対象の電子メールの配送処理
本実施形態のメールサーバ10は、電子メールを調整対象とする場合に、電子メールの配送タイミングを調整して配送する処理を行う。このようにすれば、クラウド型メールサービスを提供するメールサーバの処理負荷を軽減することができ、配送先のメールサーバから電子メールの配送を拒絶される事態を避け、電子メールの配送エラーを軽減することができる。
【0084】
「配送タイミングを調整」するとは、例えば、調整対象の電子メールについて、配送タイミングを調整して配送することである。なお、調整情報とは、配送間隔、及び、同時に配送する電子メールの配送数の少なくとも一方である。
【0085】
なお、メールサーバ10は、受け付けた電子メールの宛先のドメインに基づきDNSサーバから取得したホストの文字列が、クラウド型メールサーバを示す文字列を含む場合に、当該電子メールをクラウド用の調整対象とし、クラウド用の調整情報に基づき、配送タイミングを調整して配送する。
【0086】
メールサーバ10は、クラウド用の調整対象の電子メールについて、配送先メールサーバ毎(クラウド型メールサーバ毎)に、配送タイミングを調整して配送する。具体的に、
図4(A)を用いて、配送先メールサーバ(クラウド型メールサーバ)が「zzz.com」である調整対象の5通の電子メールM1~M5の配送タイミングの例について説明する。
【0087】
例えば、メールサーバ10は、「zzz.com」のクラウド型メールサーバに配送する調整対象の5通の電子メールM1~M5を、1つの集合体とする。そして、メールサーバ10は、クラウド型メールサーバ(例えば、zzz.com)に対して配送する調整対象の5通の電子メールM1~M5について、所定の配送間隔(例えば、5秒間隔)で、配送数(例えば、1つ)の調整対象の電子メールを配送する。
【0088】
例えば、
図4(A)に示すように、メールサーバ10は、タイミングT1で電子メールM1を配送し、タイミングT1から5秒後のタイミングT2で電子メールM2を配送し、タイミングT2から5秒後のタイミングT3で電子メールM3を配送し、タイミングT3から5秒後のタイミングT4で電子メールM4を配送し、タイミングT4から5秒後のタイミングT5で電子メールM5を配送する。
【0089】
なお、メールサーバ10は、電子メールM1~M5を同一の接続先アドレス(例えば、211.259.95.188に示すようなIPアドレス)に接続して配送してもよいし、異なる接続先アドレスに接続して配送してもよい。例えば、メールサーバ10は、DNSサーバにホストのAレコード(接続先アドレス)を問い合わせるが、同じホスト名であっても異なる接続先アドレスを取得する場合も生じるからである。
【0090】
なお、配送数は2以上であってもよい。例えば、所定の配送間隔(例えば、5秒間隔)で2通の調整対象の電子メールを配送する場合は、配送タイミングにおいて2通の電子メールを、間隔を置かずに、続けて配送先に配送する。
【0091】
また、メールサーバ10は、管理者の入力に基づいて、配送間隔や配送数を設定してもよいし、メールサーバ10が、自動的に、配送間隔や配送数を設定してもよい。
【0092】
また、メールサーバ10は、調整対象の電子メールについて、時間経過に応じて配送間隔を短くする処理、及び、時間経過に応じて配送数を多くする処理、の少なくとも一方を行うようにしてもよい。
【0093】
例えば、メールサーバ10は、運用の初期状態(運用開始時)に配送間隔を20秒に設定し、時間経過に応じて配送間隔を短くする。例えば、1時間経過する度に配送間隔を1秒短くする。そして、最終的に、配送間隔を1秒になるように設定してもよい。
【0094】
また、メールサーバ10は、管理者の入力に基づいて、同時に配送する電子メールの配送数を設定してもよいし、メールサーバ10が、自動的に、同時に配送する電子メールの配送数を設定してもよい。
【0095】
例えば、メールサーバ10は、運用の初期状態(運用開始時)に同時に配送する電子メールの配送数を1つに設定し、時間経過に応じて当該配送数を多くする。例えば、1時間
経過する度に配送数を1つ多くする。そして、最終的に、配送数を10になるように設定してもよい。
【0096】
[5.4]並列処理
メールサーバ10は、配送先メールサーバ(クラウド型メールサーバ)が同一である複数の調整対象の電子メールについて、並列処理を行ってもよい。配送先メールサーバが同一であるとは、例えば、クラウド型メールサーバを示す文字列(例えば、「zzz.com」)が同一であることでもよいし、ホスト(例えば、「ppp1.zzz.com」)が同一であることでもよい。
【0097】
具体的に、
図4(B)を用いて、配送先メールサーバ(クラウド型メールサーバ)が「zzz.com」である調整対象の15通の電子メールM1~M15の配送タイミングの例について説明する。
【0098】
例えば、メールサーバ10は、「zzz.com」のクラウド型メールサーバに配送する調整対象の15通の電子メールM1~M15を、1つの集合体とする。そして、メールサーバ10は、クラウド型メールサーバ(例えば、zzz.com)に対して配送する調整対象の15通の電子メールM1~M15を複数(例えば、3つ)のグループに分類する。そして、分類された複数のグループを、並列に所定の配送間隔(例えば、5秒間隔)で、配送数(例えば、1つ)の調整対象の電子メールを配送する。なお、電子メールM1~M15は、均等に分類してもよいし、ドメイン、ホスト、接続先アドレス(IPアドレス)で分類してもよい。
【0099】
例えば、
図4(B)に示すように、メールサーバ10は、クラウド型メールサーバ(例えば、zzz.com)に対して配送する調整対象の15通の電子メールM1~M15について、M1~M5で構成される第1グループ、M6~M10で構成される第2グループ、M11~M15で構成される第3グループに分類する。そして、各グループで、所定の配送間隔(例えば、5秒間隔)で、配送数(例えば、1つ)の調整対象の電子メールを配送する。また、各グループの配送タイミングを1秒ずらしながら、所定の配送間隔(例えば、5秒間隔)で、配送数(例えば、1)の調整対象の電子メールを、配送する。
【0100】
例えば、第1グループについて、タイミングT1で電子メールM1を配送した場合、第2グループについて、タイミングT1から1秒後のタイミングT11において、電子メールM6を配送し、第3グループについて、タイミングT11から1秒後のタイミングT21において、電子メールM11を配送する。このようにすれば、同一の配送先について、効率よくかつ処理負荷を軽減して電子メールを配送することができる。
【0101】
[6]複数段階の調整処理
本実施形態のメールサーバ10は、受け付けた電子メールの宛先のドメインに基づきDNSサーバから取得したホストの文字列が、クラウド型メールサーバを示す文字列を含む場合に、当該電子メールを「クラウド用の調整対象」の電子メールと判定する。
【0102】
そして、メールサーバ10は、受け付けた電子メールの宛先のドメインに基づきDNSサーバから取得したホストの文字列が、クラウド型メールサーバを示す文字列を含まない場合には、当該ドメインが予め定められた特定ドメインであるか否かを判定する。
【0103】
メールサーバ10は、当該ドメインが特定ドメインである場合に、当該電子メールを「特定ドメイン用の調整対象」(他の調整対象の一例)の電子メールと判定する。
【0104】
そして、メールサーバ10は、クラウド用の調整対象に該当せず、かつ、特定ドメイン
用の調整対象に該当しない電子メールを、「デフォルトの調整対象」(他の調整対象の一例)の電子メールと判定する。なお、デフォルトとは、予め定められている標準状態(初期状態)を意味する。
【0105】
本実施形態では、クラウド用の調整対象の電子メールについて、上述したように、クラウド用の調整情報に基づき、配送タイミングを調整して配送する。例えば、所定の配送間隔(例えば、5秒間隔)で、配送数(例えば、1つ)の電子メールを配送する。
【0106】
そして、メールサーバ10は、特定ドメイン用の調整対象の電子メールについて、予め定められた「特定ドメイン用の調整情報」(他の調整情報の一例)に基づき、配送タイミングを調整して配送する。例えば、所定の配送間隔(例えば、3秒間隔)で、配送数(例えば、3つ)の電子メールを配送する。このようにすれば、ドメインに応じた柔軟な配送処理を行うことができる。
【0107】
また、メールサーバ10は、デフォルトの調整対象の電子メールについて、予め定められた「デフォルトの調整情報」(他の調整情報の一例)に基づき、配送タイミングを調整して配送する。所定の配送間隔(例えば、1秒間隔)で、配送数(例えば、5つ)の電子メールを配送する。このようにすれば、デフォルトの配送タイミングの調整を図ることができ、メールサーバ全体の処理負荷をバランスよく軽減することができる。
【0108】
つまり、本実施形態によれば、段階的な調整を行うことができ、メールサーバ10及び配送先のメールサーバの処理負荷を考慮した電子メールの配送処理を行うことができる。
【0109】
[7]コネクションプール
本実施形態では、一度確立した接続は、予めメールサーバ10が定めた所定期間が経過するまで接続を保持(維持、プール)し、当該接続を利用して電子メールを配送する処理を行ってもよい。
【0110】
例えば、メールサーバ10は、電子メールの宛先のドメインに基づいて、DNSサーバからホストを取得し、当該ホストに基づき、DNSサーバから接続先アドレスを取得し、接続先アドレスへの接続を確立後、所定期間、当該接続を保持する。メールサーバ10は、当該接続の保持の間、当該ドメインと、当該ホストと、当該接続先アドレスと、を対応付けて記憶部170に記憶する処理を行う。
【0111】
なお、メールサーバ10は、電子メールの宛先のドメインのホストが、予め定めたクラウド型メールサーバを示すホストである場合に限り、当該接続を保持するようにしてもよい。
【0112】
そして、メールサーバ10は、新たに受け付けた電子メールの宛先のドメインが記憶部170に記憶されている場合に、当該ドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行う。このようにすれば、電子メールのホスト及び接続先アドレスの取得や接続確立の処理が省略されるので、メールサーバ10の処理負荷を軽減することができる。
【0113】
また、メールサーバ10は、新たに受け付けた電子メールの宛先のドメインに基づいて取得されたホストが記憶部170に記憶されている場合に、当該ホストに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行う。このようにすれば、電子メールの接続先アドレスの取得や接続確立の処理が省略されるので、メールサーバ10の処理負荷を軽減することができる。
【0114】
また、メールサーバ10は、ホストに基づいて取得された接続先アドレスが記憶部170に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行う。このようにすれば、電子メールの接続先アドレスの取得や接続確立の処理が省略されるので、メールサーバ10の処理負荷を軽減することができる。
【0115】
なお、メールサーバ10は、新たに受け付けた電子メールの宛先のドメインのホストに対する接続先アドレスが記憶部170に複数記憶されている場合には、配送中でない(空いている)いずれかの接続先アドレスの接続を利用して当該電子メールを配送する処理を行う。
【0116】
[8]フローチャート
次に、
図5を用いて、本実施形態のメールサーバの配送処理の流れについて説明する。まず、メールサーバ10、電子メールを受け付けると(ステップS1)、宛先のドメインを抽出し(ステップS2)、抽出されたドメインに基づき、DNSサーバからMXレコードのホストを取得する(ステップS3)。
【0117】
そして、ホストの文字列が、クラウド型メールサーバを示す文字列を含むか否かを判定する(ステップS4)。ホストの文字列が、クラウド型メールサーバを示す文字列を含む場合に(ステップS4のY)、クラウド用の調整情報に基づき、当該電子メールの配送タイミングを調整して配送する処理を行う(ステップS5)。
【0118】
一方、ホストの文字列が、クラウド型メールサーバを示す文字列を含まない場合に(ステップS4のN)、宛先のドメインが特定ドメインであるか否かを判定する(ステップS6)。宛先のドメインが特定ドメインである場合に(ステップS6のY)、特定ドメイン用の調整情報に基づき、当該電子メールの配送タイミングを調整して配送する処理を行う(ステップS7)。
【0119】
そして、宛先のドメインが特定ドメインでない場合に(ステップS6のN)、デフォルトの調整情報に基づき、当該電子メールの配送タイミングを調整して配送する処理を行う(ステップS8)。以上で処理を終了する。
【0120】
[9]その他
本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0121】
本発明は、実施形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施形態で説明した構成に公知技術を付加した構成を含む。
【0122】
上記のように、本発明の実施形態について詳細に説明したが、本発明の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。したがって、このような変形例はすべて本発明の範囲に含まれるものとする。
【符号の説明】
【0123】
10 メールサーバ、100 処理部、111 受け付け部、112 ホスト取得部、
113 判定部、114 接続先アドレス取得部、116 コネクションプール部、
117 コネクション情報管理部、118 配送部、170 記憶部、
171 コネクション情報、180 情報記憶媒体