JP6491847B2 - プログラム及びメールサーバ - Google Patents

プログラム及びメールサーバ Download PDF

Info

Publication number
JP6491847B2
JP6491847B2 JP2014200361A JP2014200361A JP6491847B2 JP 6491847 B2 JP6491847 B2 JP 6491847B2 JP 2014200361 A JP2014200361 A JP 2014200361A JP 2014200361 A JP2014200361 A JP 2014200361A JP 6491847 B2 JP6491847 B2 JP 6491847B2
Authority
JP
Japan
Prior art keywords
connection
mail
domain
host
destination address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014200361A
Other languages
English (en)
Other versions
JP2016072809A (ja
Inventor
裕 福冨
裕 福冨
康広 角
康広 角
Original Assignee
株式会社Hde
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Hde filed Critical 株式会社Hde
Priority to JP2014200361A priority Critical patent/JP6491847B2/ja
Publication of JP2016072809A publication Critical patent/JP2016072809A/ja
Application granted granted Critical
Publication of JP6491847B2 publication Critical patent/JP6491847B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、プログラム及びメールサーバに関する。
従来から、SMTP(Simple Mail Transfer Protocol)を通じてネットワーク上で電子メールの受信と配送を行うメールサーバが存在する(例えば、特許文献1)。
また、従来から、通信負荷を減らしアクセスに必要な時間を短縮させるためにコネクションプールと呼ばれる技術がある。コネクションプールとは、コネクションプーリングとも呼ばれ、アクセスのたびに接続(コネクション)を確立するのではなく、予め確立された接続を使い回す通信処理のことをいう。
例えば、特許文献2では、データベースシステムにおいてアプリケーションとデータベースサーバとの間で予め複数のコネクションを用意し、アプリケーションからコネクション取得要求があった場合にプールされたコネクションを使用するものが開示されている(特許文献2の図4参照)。
特開2012−029009号公報 特開2007−226398号公報
メールサーバは、宛先のドメインに基づきDNSサーバ(DNSは「ドメインネームシステム(Domain Name System)」の略。以下、同様)に問い合わせ、接続先(配送先)のIPアドレス(IPは「インターネットプロトコル(Internet Protocol)」の略。以下、同様)を取得し、IPアドレスのメールサーバで通信を行う通信路を確立して電子メールを配送する。
従来のメールサーバにおいては、接続を再利用するコネクションプールの発想はなかった。そのため、例えば、同じドメイン宛の電子メールを複数配送する場合であっても、一の電子メールを配送する度に、接続先のIPアドレスを取得して接続を確立して配送し、配送が終了すると切断する処理を行うので、通信路の確立・切断する処理に時間を要してしまっていた。
そして、電子メールでのコミュニケーションが益々増えてきている近年においては、メールサーバの処理負荷を減らし処理時間を短縮させることが課題となってきている。
本発明は、上述した課題に鑑みたものであり、その目的は、メールサーバにおいてコネクションプールの技術を利用し、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることが可能なプログラム及びメールサーバを提供することにある。
(1)本発明は、
電子メールを配送するメールサーバのためのプログラムであって、
電子メールを受け付ける処理を行う受け付け部と、
前記電子メールの宛先のドメインに基づいて、DNSサーバから接続先アドレスを取得し、取得した接続先アドレスに接続して前記電子メールを配送する処理を行う配送部と、
前記接続先アドレスへの接続を保持するコネクションプール部と、
前記接続先アドレスへの接続を保持している場合に、前記電子メールの宛先のドメインと前記接続先アドレスとを対応付けて記憶部に記憶する処理を行うコネクション情報管理部として、コンピュータを機能させ、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されている場合に、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うプログラムに関する。
また、本発明は、上記プログラムを記憶した情報記憶媒体、及び、上記各部として構成するメールサーバに関係する。
ここで、接続先アドレスとは、電子メールを配送するための配送先のメールサーバのネットワーク上のアドレスであり、例えば、IPアドレス(IPv4、IPv6などのIPでネットワーク上の機器を識別するために指定するネットワーク層における識別番号)である。
本発明によれば、新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されている場合に、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うので、新たな電子メールの接続先アドレスの取得処理、そして、接続を確立する処理を省略することができ、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることができる。
(2)また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記コネクション情報管理部が、
DNSサーバから前記電子メールの宛先のドメインに基づいてMXレコードのホストを取得できた場合に、前記電子メールの宛先のドメイン、当該ホスト、前記接続先アドレスを一組として前記記憶部に記憶する処理を行い、
DNSサーバから前記電子メールの宛先のドメインに基づいてMXレコードのホストを取得できない場合に、前記電子メールの宛先のドメインをホストとし、当該ホストと前記接続先アドレスとを対応付けて前記記憶部に記憶する処理を行い、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが、前記記憶部にドメイン又はホストとして記憶されている場合に当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行ってもよい。
本発明によれば、新たに受け付けた電子メールの宛先のドメインが、前記記憶部にドメイン又はホストとして記憶されている場合に当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うので、新たな電子メールの宛先ドメインのメールサーバのホストの取得処理及び接続先アドレスの取得処理、そして、接続を確立する処理を省略することができ、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることができる。
なお、前記記憶部に記憶される一組の「電子メールの宛先のドメイン、ホスト、接続先アドレス」は、電子メールの宛先のドメインとホストとが対応関係にあり、ホストと接続先アドレスとが対応関係にあり、電子メールの宛先のドメインと接続先アドレスとが対応関係にある。
(3)また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記コネクション情報管理部が、
DNSサーバから前記電子メールの宛先のドメインに基づいてMXレコードのホストを取得できた場合に、前記電子メールの宛先のドメイン、当該ホスト、前記接続先アドレスを一組として前記記憶部に記憶する処理を行い、
DNSサーバから前記電子メールの宛先のドメインに基づいてMXレコードのホストを取得できない場合に、前記電子メールの宛先のドメインをホストとし、当該ホストと前記接続先アドレスとを対応付けて前記記憶部に記憶する処理を行い、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが、前記記憶部にドメイン又はホストとして記憶されていない場合には、新たに受け付けた電子メールの宛先のドメインに基づいてDNSサーバにMXレコードのホストを取得要求し、当該ホストを取得できた場合には、当該ホストが、前記記憶部にホストとして記憶されている場合に、当該ホストに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行ってもよい。
本発明によれば、新たに受け付けた電子メールの宛先のドメインが、前記記憶部にドメイン又はホストとして記憶されていない場合には、新たに受け付けた電子メールの宛先のドメインに基づいてDNSサーバにMXレコードのホストを取得要求し、当該ホストを取得できた場合には、当該ホストが、前記記憶部にホストとして記憶されている場合に、当該ホストに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うので、新たな電子メールの接続先アドレスの取得処理、そして、接続を確立する処理を省略することができ、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることができる。
(4)また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記配送部が、
同一のドメイン宛の電子メールを複数受け付けた場合に、所定条件下で当該ドメインに対して複数の接続を確立し、並列して複数の電子メールを配送する処理を行い、
前記コネクションプール部が、
複数の接続を保持し、
前記コネクション情報管理部が、
接続毎に、前記電子メールの宛先のドメインと接続先アドレスとを対応付けて前記記憶部に記憶する処理を行い、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインに対する接続先アドレスが前記記憶部に複数記憶されている場合には、配送中でないいずれかの接続先アドレスの接続を利用して当該電子メールを配送する処理を行ってもよい。
本発明によれば、宛先のドメインが同じ電子メールを複数受け付けた場合に、所定条件下で当該ドメインに対して複数の接続を確立し、並列して複数の電子メールを配送する処理を行う。つまり、本発明によれば、所定条件下で当該ドメインに対してコネクションプール数を増やすことができ、例えば、宛先のドメインが同じ電子メールを大量に受け付けた場合には、当該電子メールの宛先のドメインに対応する接続先アドレスの配送中でない(空いている)接続を利用して当該電子メールを配送する処理を行うので、新たな電子メールの宛先ドメインのメールサーバのホストの取得処理及び接続先アドレスの取得処理、そして、接続を確立する処理を省略しつつ、配送処理を分散させることができ、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることができる。
(5)また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記コネクションプール部が、
前記電子メールの宛先のドメインが特定のドメインである場合に、当該ドメインに基づく前記接続先アドレスへの接続を保持し、
前記電子メールの宛先のドメインが特定のドメインでない場合に、当該電子メールを配送後、当該ドメインに基づく前記接続先アドレスへの接続を切断してもよい。
本発明によれば、特定ドメインについて接続を保持するので、効率よく配送処理を行うことができる。例えば、特定ドメインの宛先の電子メールの配送数が多いことが予想される場合には、コネクションプールを活用して処理負荷を軽減し効率よく特定ドメインの宛先の電子メールを配送することができる。また、特定ドメイン以外の宛先の電子メールについては、コネクションプールを利用しないので、無駄なシステムリソースを消費することを避けることができる。
(6)また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記コネクション情報管理部が、
前記電子メールの宛先のドメイン、前記接続先アドレス、及び当該接続を保持しているか否かを示す接続ステータスを一組として前記記憶部に記憶する処理を行い、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されている場合であって、当該電子メールの宛先のドメインに対応する接続ステータスが接続を保持していることを示す情報の場合には、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行い、
新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されている場合であって、当該電子メールの宛先のドメインに対応する接続ステータスが接続を保持していないことを示す情報の場合には、当該電子メールの宛先のドメインに対応する接続先アドレスに接続して前記電子メールを配送する処理を行い、
前記コネクション情報管理部が、
前記接続先アドレスへの接続を保持している場合に、前記電子メールの宛先のドメインに対応する接続ステータスを、接続を保持していることを示す情報に設定し、
前記接続先アドレスへの接続を保持していない場合に、前記電子メールの宛先のドメインに対応する接続ステータスを、接続を保持していないことを示す情報に設定してもよい。
本発明によれば、新たに受け付けた電子メールの宛先のドメインに対応する接続先アドレスへの接続を保持していなくても、当該ドメインが前記記憶部に記憶されている場合には、DNSサーバへの接続先アドレスの取得処理を省略して、当該接続先アドレスへの接続を確立して電子メールを配送することができる。また、本発明によれば、新たに受け付けた電子メールの宛先のドメインに対応する接続先アドレスへの接続を保持している場合には、DNSサーバへの接続先アドレスの取得処理、そして、接続を確立する処理を省略して電子メールを配送することができる。したがって、本発明によれば更にメールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることができる。
なお、前記記憶部に記憶される一組の「電子メールの宛先のドメイン、接続先アドレス、接続ステータス」は、電子メールの宛先のドメインと接続先アドレスとが対応関係にあり、接続先アドレスと接続ステータスとが対応関係にあり、電子メールの宛先のドメインと接続ステータスとが対応関係にある。
(7)また、本発明のプログラム、情報記憶媒体及びメールサーバは、
前記配送部が、
新たに受け付けた電子メールの宛先のドメインに基づいてDNSサーバから取得した接
続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行ってもよい。
本発明によれば、新たに受け付けた電子メールの宛先のドメインに基づいてDNSサーバから取得した接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うので、接続を確立する処理を省略することができ、メールサーバの処理負荷を減らし、電子メールの配送の処理時間を短縮させることができる。
本実施形態のネットワーク図の一例。 本実施形態のメールサーバの機能ブロック図の一例。 本実施形態の接続先アドレスを取得する手法の説明図。 本実施形態のコネクション情報の説明図。 本実施形態のコネクション情報の説明図。 本実施形態の処理のフローチャート図。 本実施形態の処理のフローチャート図。 本実施形態の処理のフローチャート図。 本実施形態の処理のフローチャート図。 本実施形態の処理のフローチャート図。 本実施形態の処理のフローチャート図。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.ネットワーク
図1は、本実施形態のネットワーク図の一例である。本実施形態のメールサーバ10は、SMTPを通じてネットワーク上で電子メールの受け付け(受信)と配送を行うMTA(Mail Transfer Agent)である。
メールサーバ10は、配送処理に用いるエンベロープの宛先(宛先メールアドレス)及びエンベロープの差出元(差出元メールアドレス)、メッセージとからなる電子メールを受信し、ネットワークを介して受信した当該電子メールを、エンベロープの宛先に基づいて配送先メールサーバ(送信先メールサーバ)に配送する処理を行う。
より詳しく説明すると、メールサーバ10は、MUA(Mail User Agent)から送信された電子メールを受け付ける。なお、MUAとは、インターネット上の端末において電子メールを送受信するために使用されるクライアントプログラムである。
次に、メールサーバ10は、受信した電子メールのエンベロープの宛先のドメインを管理しているDNSサーバや、メールサーバ10のローカルエリア内のDNSサーバ、或いは他のDNSサーバに、受信した電子メールのエンベロープの宛先のドメインのMXレコードのホストを問い合わせる。例えば、メールサーバ10は、DNSサーバに宛先のドメインのMXレコードを問い合わせ、ドメインのホストを取得する。
そして、メールサーバ10は、受信した電子メールのエンベロープの宛先のドメインのMXレコードのホストを取得できた場合には、当該ホストのIPアドレスを問い合わせる。また、メールサーバは、受信した電子メールのエンベロープの宛先のドメインのMXレ
コードのホストを取得できなかった場合には、当該ドメインをホストに指定してIPアドレスを問い合わせる。例えば、メールサーバ10は、DNSサーバに当該ホストのAレコード(IPv6の場合はAAAAレコード、以下同じ)を問い合わせ、ホストのIPアドレスを取得する。つまり、このIPアドレスが、配送先メールサーバの配送先アドレスとなる。
そして、メールサーバ10は、IPアドレスに基づき配送先メールサーバと接続を確立し、電子メールを配送(配信、送信、転送、リレー)する処理を行う。
なお、本実施形態のメールサーバ10が電子メールを受け付けるとは、SMTPを通じて、端末から電子メールを受け付ける場合、及び、SMTPを通じて他のメールサーバから配送された電子メールを受け付ける場合を含む。
また、本実施形態のメールサーバ10が電子メールを配送するとは、SMTPを通じて、受信した電子メールを他のメールサーバに配送する処理や、メールサーバ10が稼動する同一システム内にアカウントを持つユーザ宛に配送するためのローカル配信エージェントMDA(Mail Delivery Agent)に配送する処理、MDAを介せずにメールサーバが稼動する同一システム内にアカウントを持つユーザ宛にローカル配送する処理を含む。
2.構成
図2は、本実施形態のメールサーバ10の機能ブロック図の一例である。なお、本実施形態のメールサーバ10は、図2の各部を全て含む必要はなく、その一部を省略した構成としてもよい。
記憶部170は、処理部100などのワーク領域となるもので、その機能はRAM(VRAM)などのハードウェアにより実現できる。
本実施形態の記憶部170には、コネクション情報171を含む。コネクション情報171は、プーリングされているコネクションの情報であり、ドメイン、ホスト、接続先アドレス(IPアドレス)を含む。ドメイン、ホスト、接続先アドレスは一組として記憶される。一組のドメイン、ホスト、接続先アドレスは、ドメインとホストとが対応関係にあり、ホストと接続先アドレスが対応関係にあり、ドメインと接続先アドレスが対応関係にある。以下の説明でも同様である。
また、コネクション情報171は、接続を保持しているか否かを示す接続ステータスを含んでいてもよい。接続ステータスを含む場合、接続ステータスは、ドメイン、ホスト、接続先アドレスと一組として記憶される。以下の説明でも同様である。
なお、記憶部170には、受け付け部111によって受け付けた電子メールを一時的に格納するためのスプール領域(記憶領域)を確保してもよい。なお、スプール領域に記憶された電子メールは、配送処理が完了(配送正常終了あるいは配送エラー終了)すると、スプール領域から削除される。なお、配送エラー終了の場合、つまり、配送先メールサーバに配送できない電子メールについては、再度、スプール領域に格納される。
また、情報記憶媒体180は、コンピュータにより読み取り可能であり、この情報記憶媒体180にはプログラムやデータなどが格納されている。即ち、情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。つまり、処理部100は、この情報記憶媒体180に格納されるプログラム(データ)から読み出されたデータに基
づいて本実施形態の種々の処理を行うことができる。
例えば、情報記憶媒体180は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)、メモリカード等である。
処理部100は、記憶部170に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。なお、本実施形態の処理部100が、情報記憶媒体180に格納されているプログラムやデータを読み出し、読み出したプログラムやデータを記憶部170に格納し、そのプログラムやデータに基づいて処理を行ってもよい。
処理部100(プロセッサ)は、記憶部170内の主記憶部をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)などのハードウェアや、プログラムにより実現できる。
処理部100は、受け付け部111、コネクションプール部112、コネクション情報管理部114、配送部115と、を含む。
受け付け部111は、端末(コンピュータ、携帯電話、タブレット型コンピュータ、スマートフォン)のMUAによって、差出元から送信され、エンベロープの宛先が指定された電子メールを受け付ける処理(受信する処理)を行う。
コネクションプール部112は、電子メールを配送する際に接続した接続先アドレスへの接続を保持(維持)する処理を行う。例えば、接続先アドレスへの接続は所定の期間(タイムアウトが到来するまで)、保持され、所定の期間経過後は切断する。
また、コネクションプール部112は、複数の接続を保持してもよい。例えば、同一又は異なる複数の接続先アドレスへの接続を保持してもよい。
また、コネクションプール部112は、電子メールの宛先のドメインが特定のドメインである場合に、当該ドメインに基づく接続先アドレスへの接続を保持し、電子メールの宛先のドメインが特定のドメインでない場合に、当該電子メールを配送後、当該ドメインに基づく接続先アドレスへの接続を切断してもよい。
コネクション情報管理部114は、電子メールを配送する際に接続した接続先アドレスへの接続を保持している場合に、当該電子メールの宛先のドメイン、当該接続先アドレスを一組としてコネクション情報として記憶部に記憶(登録)する処理を行う。
例えば、コネクション情報管理部114は、DNSサーバから当該電子メールの宛先のドメインのMXレコードのホストを取得できた場合に、当該電子メールの宛先のドメイン、当該ホスト、当該接続先アドレスを一組としてコネクション情報として記憶部に記憶する処理を行う。
また、コネクション情報管理部114は、DNSサーバから当該電子メールの宛先のドメインのMXレコードのホストを取得できない場合に、電子メールの宛先メールドレスのドメインをホストとし、当該ホスト、当該接続先アドレスを一組としてコネクション情報として記憶部に記憶する処理を行う。
また、コネクション情報管理部114は、複数の接続が保持されている場合には、接続毎に、電子メールの宛先のドメインと接続先アドレスとを対応付けて記憶部に記憶する処
理を行う。
また、コネクション情報管理部114は、接続先アドレスへの接続を保持しているか否かにかかわらず、電子メールの宛先のドメイン、接続先アドレス、及び当該接続を保持しているか否かを示す接続ステータスを一組として記憶部に記憶する処理を行ってもよい。そして、コネクション情報管理部114は、接続先アドレスへの接続を保持している場合に、電子メールの宛先のドメインに対応する接続ステータスを、接続を保持していることを示す情報に設定し、接続先アドレスへの接続を保持していない場合に、電子メールの宛先のドメインに対応する接続ステータスを、接続を保持していないことを示す情報に設定する。
配送部115は、受け付けた電子メールを配送する処理を行う。例えば、配送部115は、電子メールの宛先メールドレスのドメインに基づいて、DNSサーバから接続先アドレス(例えば、接続先のメールサーバのIPアドレス)を取得し、接続先アドレスに接続して電子メールを配送する処理を行う。
また、配送部115は、新たに電子メールを受け付けた場合に当該電子メールの宛先のドメインが記憶部に記憶されているか否かを判断する(コネクション情報として記憶されているか否かを判断する)。そして、当該電子メールの宛先のドメインが記憶部に記憶されている場合に(コネクション情報として記憶されている場合に)、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行う。
例えば、配送部115は、新たに電子メールを受け付けた場合に当該電子メールの宛先のドメインが、記憶部にドメイン又はホストとして記憶されているか否かを判断する(コネクション情報のドメイン又はホストとして記憶されているか否かを判断する)。そして、当該電子メールの宛先のドメインが記憶部にドメイン又はホストとして記憶されている場合(コネクション情報のドメイン又はホストとして記憶されている場合)に、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行う。
また、例えば、配送部115は、新たに受け付けた電子メールの宛先のドメインが、記憶部にドメイン又はホストとして記憶されていない場合には、新たに受け付けた電子メールの宛先のドメインに基づいてDNSサーバからMXレコードのホストを取得要求し、当該ホストを取得できた場合には、当該ホストが、記憶部にホストとして記憶されている場合(コネクション情報のホストとして記憶されている場合)に、当該ホストに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行う。
また、配送部115は、宛先のドメインが同じ電子メールを複数受け付けた場合に、所定条件下で当該ドメインに対して複数の接続を確立し、並列して複数の電子メールを配送する処理を行ってもよい。そして、配送部115は、新たに受け付けた電子メールの宛先のドメインに対する接続先アドレスが記憶部に複数記憶されている場合には、配送中でない(空いている)いずれかの接続先アドレスの接続を利用して当該電子メールを配送する処理を行う。
また、配送部115は、新たに受け付けた電子メールの宛先のドメインが記憶部に記憶されている場合であって、当該電子メールの宛先のドメインに対応する接続ステータスが接続を保持していることを示す情報の場合には、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行い、新たに受け付けた電子メールの宛先のドメインが記憶部に記憶されている場合であって、当該電子メ
ールの宛先のドメインに対応する接続ステータスが接続を保持していないことを示す情報の場合には、当該電子メールの宛先のドメインに対応する接続先アドレスに接続して電子メールを配送する処理を行ってもよい。
また、配送部115は、新たに受け付けた電子メールの宛先のドメインに基づいてDNSサーバから取得した接続先アドレスが記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行ってもよい。
3.本実施形態の処理の説明
(1)配送の概要
本実施形態のメールサーバは、電子メールを配送する際にDNSサーバにアクセスし、電子メールのエンベロープの宛先のドメインに基づいて、ドメインのMXレコードを問い合わせ、接続先(配送先)のホスト(メールサーバ)を取得する。そして、ホストを取得できた場合には、DNSサーバにAレコードを問い合わせ、配送先のホストのIPアドレスを取得する。メールサーバは、取得したIPアドレスにTCP(Transmission Control Protocol)で接続(コネクション)を確立しSMTPで電子メールを配送する処理を行う。
特に、本実施形態では、一度確立した接続は、予めメールサーバが定めた所定期間が経過するまで接続を保持(維持、プール)し、当該接続を利用して同一ドメイン宛の電子メールを配送する処理を行う。
(2)接続の確立
まず、メールサーバが、接続を確立する際の詳細について説明する。メールサーバは、例えば、「aaa@xxx.co.jp」を宛先(エンベロープの宛先)とする電子メールを受け付けると、ドメイン「xxx.co.jp」を抽出し、MXレコードに記載されている、ドメイン「xxx.co.jp」のホストをDNSサーバへ取得要求する。例えば、図3に示すように、「mail1.xxx.co.jp」、「mail2.xxx.co.jp」、「mail3.xxx.co.jp」のようにドメイン「xxx.co.jp」に対するホストを取得する。取得するホストは1つの場合もあるし複数の場合もある。
そして、メールサーバは、一のホストを任意に、或いは優先度に従って選択し、更にAレコードに記載されている、当該ホストのIPアドレスをDNSサーバへ取得要求する。そして、例えば、「mail1.xxx.co.jp」のIPアドレス「211.125.95.188」を取得すると、通信路を開くために当該IPアドレスの接続を確立する。そして、接続確立後、配送先のメールサーバに「aaa@xxx.co.jp」を宛先とする電子メールのデータを配送(送信)する処理を行う。
なお、ホストに対するIPアドレスも複数存在することもあり、複数のIPアドレスが存在する場合には、DNSサーバが選択した一のIPアドレスを受信する。なお、メールサーバがDNSサーバから複数のIPアドレスを受信した場合には、一の接続先のIPアドレスを任意に、或いは優先度に従って選択する。
(3)コネクションプール
本実施形態では、メールサーバにコネクションプールの技術を利用している。つまり、本実施形態のメールサーバは、受け付けた電子メールの宛先のドメインが現在保持されている接続を利用できる場合には再利用して接続を確立する処理を省略する。このようにすれば、メールサーバの処理負荷を減らすことができ、電子メールの配送の処理時間を短縮させることができるからである。
例えば、電子メールの宛先のドメインは、図3に示すように、ホストが複数存在する場合もあり、更に各ホストに対して複数のIPアドレスが存在する場合もある。そして「xxx.co.jp」のドメイン宛の電子メールの配送先のIPアドレスは、例えば、A1〜A3、B1〜B3、C1〜C3のように9つあり、いずれのIPアドレスにも配送可能である。メールサーバは、同じドメイン宛の電子メールを受け付ける度に、ホストやIPアドレスを取得して、この9つのうちいずれかの接続を確立し、配送後切断する処理を行うのでは効率が悪い。
そこで、本実施形態では、同一ドメイン宛の電子メールの配送は、保持されている接続を使い回し、ホストやIPアドレスの取得を省略し、更に、接続を確立する処理も省略して、メールサーバの処理負荷を減らすように制御している。
例えば、「aaa@xxx.co.jp」を宛先とする電子メールを配送すると、当該ドメイン「xxx.co.jp」の接続を配送終了時点から所定期間(例えば、30秒)保持し、接続を保持している間に、新たに同一のドメイン「xxx.co.jp」宛の電子メールを受け付けた場合、例えば、「bbb@xxx.co.jp」を宛先とする電子メールを受け付けた場合、保持されている接続を利用して「bbb@xxx.co.jp」を宛先とする電子メールを配送する。
また、本実施形態のメールサーバは、図4に示すように、電子メールの宛先のドメインの接続が保持されているコネクション情報CN1を記憶部に記憶する。コネクション情報CN1は、接続中のドメイン、ホスト、IPアドレスを含み、ドメイン、ホスト、IPアドレスを一組として記憶する。
本実施形態では、IPアドレスの接続が開始されてから接続が終了(切断)されるまでの間、当該IPアドレスに関するコネクション情報CN1を記憶し、接続が終了したタイミングで当該コネクション情報CN1を記憶部から削除する処理を行う。
メールサーバは、電子メールの宛先のドメイン部分を抽出し、抽出したドメインがコネクション情報のドメインとして記憶されているか否かを判断することによって、保持された接続があるか否かを判断している。
例えば、「bbb@xxx.co.jp」を宛先とする電子メールを受け付けると、「xxx.co.jp」のドメインがコネクション情報として記憶されているか否かを判断する。例えば、図4に示すように「xxx.co.jp」のドメインがコネクション情報CN1として記憶されている場合には、「xxx.co.jp」に対応するIPアドレス「211.125.95.188」の接続を利用して「bbb@xxx.co.jp」を宛先とする電子メールを配送する処理を行う。
(4)電子メールの宛先ドメインがホストである場合
メールサーバは、抽出した電子メールの宛先のドメインが、コネクション情報として記憶されていない場合には、MXレコードのホストをDNSサーバへ取得要求する。かかる場合において、DNSサーバからMXレコードのホストを取得できない場合、当該ドメインをホストとして指定して接続を確立する。
例えば、メールサーバは、「ccc@mail2.xxx.co.jp」を宛先とする電子メールを受け付けた場合に、当該宛先のドメインを抽出し、ドメイン「mail2.xxx.co.jp」のMXレコードをDNSサーバに問い合わせる。しかし、ドメイン「mail2.xxx.co.jp」のMXレコードがなく、DNSサーバから当該ドメ
インのMXレコードのホストを取得できない場合には、「mail2.xxx.co.jp」をホストに指定する。そして、メールサーバは当該ホスト「mail2.xxx.co.jp」のIPアドレスを、DNSサーバにAレコードを問い合わせることによって取得する。例えば、当該ホスト「mail2.xxx.co.jp」のIPアドレスを、DNSサーバにAレコードを問い合わせることによって「211.125.95.185」を取得する。そして、メールサーバは、取得した当該IPアドレスと接続を確立し、「ccc@mail2.xxx.co.jp」を宛先とする電子メールを配送する処理を行う。そして、当該ホスト「mail2.xxx.co.jp」の接続を配送終了時点から所定期間保持し、図5(A)に示すように、当該ホスト「mail2.xxx.co.jp」及び、当該IPアドレス「211.125.95.185」を対応付けて、コネクション情報CN2として記憶部に記憶する。なお、DNSサーバから当該宛先のドメイン「mail2.xxx.co.jp」のMXレコードのホストを取得できず、「mail2.xxx.co.jp」をホストに指定した場合は、コネクション情報CN2のドメインを未設定(未記憶)の状態とする。
そして、例えば、「ddd@mail2.xxx.co.jp」を宛先とする電子メールを受け付けると、当該宛先のドメイン「mail2.xxx.co.jp」がコネクション情報のドメイン又はホストとして記憶されているか否かを判断する。例えば、図5(A)に示すように「mail2.xxx.co.jp」がコネクション情報CN2のホストとして記憶されている場合には、当該ホスト「mail2.xxx.co.jp」に対応するIPアドレス「211.125.95.185」の接続を利用して「ddd@mail2.xxx.co.jp」を宛先とする電子メールを配送する処理を行う。
また、例えば、「eee@xxx.co.jp」を宛先とする電子メールを受け付けると、当該宛先のドメイン「xxx.co.jp」がコネクション情報のドメイン又はホストとして記憶されているか否かを判断する。例えば、現在、記憶部に記憶されているコネクション情報が、図5(A)に示すようにホスト「mail2.xxx.co.jp」がコネクション情報CN2のみである場合には、宛先のドメイン「xxx.co.jp」がコネクション情報のドメイン又はホストとして記憶されていない。ゆえに、メールサーバは、MXレコードに記載されている、ドメイン「xxx.co.jp」のホストをDNSサーバへ取得要求する。例えば、図3に示すように、「mail1.xxx.co.jp」、「mail2.xxx.co.jp」、「mail3.xxx.co.jp」のようにドメイン「xxx.co.jp」に対するホストを3つ取得する。すると、取得したホスト「mail2.xxx.co.jp」がコネクション情報として記憶されているので、当該コネクション情報のIPアドレスの接続を利用して電子メールを配送する。つまり、現在のコネクション情報が、図5(A)に示すように当該ホスト「mail2.xxx.co.jp」がコネクション情報CN2のみである場合には、当該ホスト「mail2.xxx.co.jp」に対応するIPアドレス「211.125.95.185」の接続を利用して「eee@xxx.co.jp」を宛先とする電子メールを配送する処理を行う。
また、このように「eee@xxx.co.jp」を宛先とする電子メールのドメイン「xxx.co.jp」が、既に記憶されているコネクション情報CN2のドメインの情報がなく、ホストがコネクション情報として記憶されている場合には、図5(B)に示すように、コネクション情報CN2にドメイン「xxx.co.jp」を上書きして記憶する。このようにすれば、「xxx.co.jp」のドメイン宛の電子メールについては、以後はDNSサーバへのMXレコードのホストの取得要求が不要になり、処理負荷を軽減できるからである。
(5)取得したIPアドレスが記憶されている場合の処理例
本実施形態では、新たに受け付けた電子メールの宛先のドメインが記憶部にコネクション情報のドメイン又はホストとして記憶されていない場合、新たに受け付けた電子メールの宛先のドメインに基づいてDNSサーバからMXレコードのホストを取得し、DNSサーバからMXレコードのホストを取得できた場合には当該ホストに基づいてAレコードのIPアドレスをDNSサーバへ取得要求する。また、DNSサーバからMXレコードのホストを取得できない場合には、新たに受け付けた電子メールの宛先のドメインをホストとし、当該ホストに基づいてAレコードのIPアドレスをDNSサーバへ取得要求する。
本実施形態では、新たに受け付けた電子メールの宛先のドメインが記憶部にコネクション情報のドメイン又はホストとして記憶されていなくても、取得したIPアドレスが記憶部にコネクション情報として記憶されている場合には、当該IPアドレスの接続を利用して当該電子メールを配送する処理を行うようにしてもよい。このようにすれば、接続を確立する処理が省略され、処理負荷を軽減できるからである。
なお、DNSサーバからMXレコードのホストを取得できた場合には、コネクション情報として既に記憶されているIPアドレス、当該新たに受け付けた電子メールの宛先のドメイン、DNSサーバから取得したMXレコードのホストを一組として記憶する。また、DNSサーバからMXレコードのホストを取得できず当該新たに受け付けた電子メールの宛先のドメインをホストにした場合には、コネクション情報として既に記憶されているIPアドレス、当該ホスト(ドメインは未設定)を一組として記憶する。
(6)配送処理のフロー
次に、図6A、図6B、図6C、図6D、図6Eを用いて本実施形態の配送処理の流れについて説明する。まず、図6Aに示すように、電子メールを受け付けると(ステップS1)、宛先のドメインを抽出する処理を行う(ステップS2)。そして、抽出されたドメインがコネクション情報のドメイン又はホストとして記憶されている否かを判断する(ステップS3)。
抽出されたドメインがコネクション情報のドメイン又はホストとして記憶されている場合には(ステップS3のY)、抽出されたドメイン(コネクション情報のドメイン又はホスト)に対応するIPドレスの接続を利用して電子メールを配送する処理を行う(ステップS4)。
一方、抽出されたドメインがコネクション情報のドメイン又はホストとして記憶されていない場合(ステップS3のN)、図6Bに示すように、DNSサーバからMXレコードのホストを取得する(ステップS5)。そして、DNSサーバからMXレコードのホストを1つ以上取得したか否かを判断し(ステップS6)、DNSサーバからMXレコードのホストを1つ以上取得した場合(ステップS6のY)は、ステップS8に進み、DNSサーバからMXレコードのホストを1つも取得していない場合(ステップS6のN)、抽出されたドメインをホストとする処理を行なう(ステップS7)。
そして、全てのホストをチェックするまで、ステップS8〜S15までの処理を繰り返すループ1の処理を行う。
まず、ホストがコネクション情報のホストとして記憶されているか否かを判断する(ステップS9)。
ホストがコネクション情報のホストとして記憶されている場合(ステップS9のY)は、ステップS20に進む。そして、図6Cに示すように、ホスト(コネクション情報のホスト)に対応するIPアドレスの接続を利用して電子メールを配送する処理を行う(ステ
ップS20)。
そして、抽出されたドメインをホストとしたか否かを判断し(ステップS21)、抽出されたドメインをホストとしていない場合(ステップS21のN)、抽出されたドメインを、コネクション情報のホスト及びIPアドレスと一組にして記憶部に記憶する(ステップS22)。一方、抽出されたドメインをホストとした場合(ステップS21のY)、ステップS23に進む。そして、ループ(ループ1)を中断して(ステップS23)、処理を終了する。
一方、図6Bに示すように、ホストがコネクション情報のホストとして記憶されていない場合(ステップS9のN)は、DNSサーバから当該ホストのAレコードのIPアドレスを取得する(ステップS10)。そして、取得した全てのIPアドレスをチェックするまで、ステップS11〜S14までの処理を繰り返すループ2の処理を行う。
まず、取得したIPアドレスがコネクション情報のIPアドレスとして記憶されているか否かを判断する(ステップS12)。取得したIPアドレスがコネクション情報のIPアドレスとして記憶されている場合(ステップS12のY)は、ステップS30に進む。そして、図6Dに示すように、取得したIPドレス(コネクション情報のIPアドレス)の接続を利用して電子メールを配送する処理を行う(ステップS30)。
そして、抽出されたドメインをホストとしたか否かを判断し(ステップS31)、抽出されたドメインをホストとしていない場合(ステップS31のN)、抽出されたドメイン及び当該ホストを、コネクション情報のIPアドレスと一組にして記憶部に記憶する(ステップS32)。一方、抽出されたドメインをホストとした場合(ステップS31のY)、当該ホストのみ(ドメインは未設定)を、コネクション情報のIPアドレスと一組にして記憶部に記憶する処理を行う(ステップS34)。そして、ループ(ループ1及びループ2)を中断して(ステップS33)、処理を終了する。
一方、図6Bに示すように、取得したIPアドレスがコネクション情報のIPアドレスとして記憶されていない場合(ステップS12のN)は、取得したIPアドレスに接続できたか否かを判断する(ステップS13)。
取得したIPアドレスに接続できた場合(ステップS13のY)、ステップS40に進む。そして、図6Eに示すように、電子メールを配送する処理を行う(ステップS40)。そして、抽出されたドメインをホストとしたか否かを判断し(ステップS41)、抽出されたドメインをホストとしていない場合(ステップS41のN)、抽出されたドメイン、当該ホスト、取得したIPアドレスを一組として、コネクション情報として記憶部に記憶する処理を行う(ステップS42)。一方、抽出されたドメインをホストとした場合(ステップS41のY)、当該ホスト及び取得したIPアドレスを一組としてコネクション情報として記憶部に記憶する(ステップS44)。そして、ループ(ループ1及びループ2)を中断して(ステップS43)、処理を終了する。
一方、図6Bに示すように、IPアドレスに接続できない場合(ステップS13のN)、取得した次のIPアドレスについて、ループ2の処理を行う。また、取得した全てのIPアドレスについてチェックした場合には、ループ2を終了し、ループ1の処理に戻る。つまり、取得した次のホストについて、ループ1の処理を行う。また、取得した全てのホストについてチェックした場合には、ループ1を終了し、処理を終了する。以上で、処理を終了する。
(7)コネクション情報削除の処理のフロー
次に、図7を用いて、コネクション情報を削除する処理の流れについて説明する。まず、接続中のIPドレスの接続期間が所定期間を超えたか否か(タイムアウトが到来したか否か)を判断する(ステップS51)。接続中のIPドレスの接続期間が所定期間を超えた場合(ステップS51のY)、接続を切断する処理を行う(ステップS52)。そして、接続を切断したIPアドレスのコネクション情報を削除する処理を行う(ステップS53)。つまり、接続を切断したIPアドレスと、当該IPアドレスに対応するドメイン及びホストを記憶部から削除する処理を行う。以上で処理を終了する。
4.並列処理
本実施形態では、同一ドメイン宛の電子メールを複数受け付けた場合に、所定条件下で複数のIPアドレスの接続を確立し、並列して電子メールを配送するようにしてもよい。
例えば、「xxx.co.jp」をドメインとする宛先の電子メールを数万通受け付けた場合には、1つのコネクションで配送してしまうと処理時間が長くなり、処理負荷が高くなってしまう。
したがって、本実施形態のメールサーバは、所定条件下で一のドメインに対して複数のIPアドレスの接続を確立する。例えば、配送処理を行うタイミングで、前の電子メールの配送が完了していない場合は待ち状態となってしまうので、待ち状態とならないように、新たに接続を確立し、新たに確立した接続を利用して電子メールを配送するように制御する。
また、本実施形態では、新たに電子メールを受け付けた場合に、当該電子メールの宛先のドメインに対応する接続が複数保持されている場合には、配送中でない(空いている)いずれか一の接続を利用して電子メールを配送する処理を行う。
5.特定のドメインに対してコネクションプールを活用する例
本実施形態では、異なるドメインの宛先の電子メールの場合は、各ドメインに応じた接続を確立し、確立した接続を保持することにより、所定期間内に再度同一ドメインの宛先の電子メールを受け付けた場合に、処理負荷を軽減して効率よく電子メールを配送できる。しかし、所定期間内に再度同一のドメインの宛先の電子メールを受け付けない場合は、保持している接続は利用されることはなく、システムリソースを消費するだけである。
したがって、本実施形態では、特定のドメインについて短い時間に配送する電子メール数が多いことが予想される場合には、当該特定のドメインについてのみコネクションプールを活用するように制御してもよい。なお、特定のドメインの数は一つでもよいし複数でもよい。
例えば、特定のドメイン「xxx.co.jp」を宛先とする電子メールの配送数が多いことが予想される場合には、特定のドメイン「xxx.co.jp」宛の電子メールについてコネクションプールを利用する配送を行い、その他のドメイン宛の電子メールについては、コネクションプールを利用しないで配送の度にDNSサーバにMXレコードのホストやAレコードのIPアドレスを問い合わせて接続を確立して電子メールを配送するように制御してもよい。
なお、本実施形態では、特定のドメインを予め明示的に指定するようにしてもよいし、コンピュータで接続状況をもとにコネクションプールの利用頻度が所定以上期待できるドメインを動的に取得するように制御してもよい。
本実施形態では、コンピュータで接続状況をもとにコネクションプールの利用頻度が所
定以上期待できるドメインを動的に取得するために以下のような方法を用いてもよい。
(1)過去又は現在の接続状況(メールサーバが処理したログ等)から、コネクションプールの対象とした場合に利用頻度が所定以上と期待できるドメインを取得する。例えば、過去又は現在の接続状況を参照し、接続数が所定数以上(例えば、100以上)あった宛先のドメインを特定のドメインとして取得する。
(2)所定期間(例えば、5分間)分の電子メールの宛先のドメインを記録した配送記録を記憶部にバッファリング(記憶)し、バッファリングされた当該配送記録から、同一ドメインが複数存在するドメインを取得する。例えば、現時点から直近5分間分の電子メールの宛先のドメインを記録した配送記録を参照し、接続数が所定数以上(例えば、10以上)ある宛先のドメインを特定のドメインとして取得する。
6.DNSサーバへのMXレコードの問い合わせを更に低減させる例
本実施形態では、接続を切断した際にコネクション情報のドメイン、ホスト、IPアドレスを記憶部から削除しないようにしてもよい。つまり、接続が保持されているか否かにかかわらず、コネクションの利用のためにコネクション情報を記憶するようにしてもよい。この場合、コネクション情報に接続ステータス(接続フラグ)を加え、接続ステータスを参照することによって接続が保持されているか否かを判断する。例えば、接続保持の場合は接続ステータス(接続フラグ)に1を設定し、接続を保持していない場合(切断した場合)は、接続ステータス(接続フラグ)に0を設定する。
そして、新たに受け付けた電子メールの宛先のドメインが記憶部にコネクション情報のドメイン又はホストとして記憶されている場合に、当該電子メールの宛先のドメイン(コネクション情報のドメイン又はホスト)に対応する接続ステータスを参照し、接続ステータスが1の場合(接続が保持されている場合)には、当該電子メールの宛先のドメイン(コネクション情報のドメイン又はホスト)に対応するIPアドレスの接続を利用して当該電子メールを配送する処理を行う。そして、接続が保持されている間、接続ステータスを1に維持し、接続が切断されると接続ステータスを0に更新する。
一方、当該電子メールの宛先のドメイン(コネクション情報のドメイン又はホスト)に対応する接続ステータスが0の場合(接続が切断されている場合)には、当該電子メールの宛先のドメイン(コネクション情報のドメイン又はホスト)に対応するIPアドレスの接続を確立し、接続確立後、当該接続を利用して電子メールを配送する処理を行う。そして、接続確立後、当該接続ステータスを1に更新し、接続が保持されている間、接続ステータスを1に維持し、接続が切断されると接続ステータスを0に更新する。このようにすれば、接続が切断されていても、DNSサーバへのMXレコードのホストの取得処理、及び、AレコードのIPアドレスの取得処理を省略することができ、処理負荷を低減することができる。
10 メールサーバ、100 処理部、111 受け付け部、112 コネクションプール部、114 コネクション情報管理部、115 配送部、170 記憶部、171 コネクション情報、180 情報記憶媒体

Claims (7)

  1. 電子メールを配送するメールサーバのためのプログラムであって、
    電子メールを受け付ける処理を行う受け付け部と、
    前記電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得し、当該ホストに基づいて、DNSサーバから接続先アドレスを取得し、取得した接続先アドレスに接続して前記電子メールを配送する処理を行う配送部と、
    前記接続先アドレスへの接続を保持するコネクションプール部と、
    前記接続先アドレスへの接続を保持している場合に、前記電子メールの宛先のドメインと、前記ホストと、前記接続先アドレスとを対応付けて記憶部に記憶する処理を行うコネクション情報管理部として、コンピュータを機能させ、
    前記配送部が、
    新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されていない場合に、当該電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得し、
    当該ホストが前記記憶部に記憶されていない場合に、当該ホストに基づいて、DNSサーバから接続先アドレスを取得し、
    取得した当該接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするプログラム。
  2. 電子メールを配送するメールサーバのためのプログラムであって、
    電子メールを受け付ける処理を行う受け付け部と、
    前記電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得できない場合に、前記電子メールの宛先のドメインをホストとし、当該ホストに基づいて、DNSサーバから接続先アドレスを取得し、取得した接続先アドレスに接続して前記電子メールを配送する処理を行う配送部と、
    前記接続先アドレスへの接続を保持するコネクションプール部と、
    前記接続先アドレスへの接続を保持している場合に、前記ホストと、前記接続先アドレスとを対応付けて記憶部に記憶する処理を行うコネクション情報管理部として、コンピュータを機能させ、
    前記配送部が、
    新たに受け付けた電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得し、
    当該ホストが前記記憶部に記憶されていない場合に、当該ホストに基づいて、DNSサーバから接続先アドレスを取得し、
    取得した当該接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするプログラム。
  3. 請求項1又は2において、
    前記配送部が、
    前記新たに受け付けた電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得できない場合、当該電子メールの宛先のドメインをホストとし、
    当該ホストが前記記憶部に記憶されていない場合に、当該ホストに基づいて、DNSサーバから接続先アドレスを取得し、
    取得した当該接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするプログラム。
  4. 請求項1〜3のいずれかにおいて、
    前記配送部が、
    新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されている場合に、当該電子メールの宛先のドメインに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするプログラム。
  5. 請求項1〜4のいずれかにおいて、
    前記配送部が、
    新たに受け付けた電子メールの宛先のドメインに基づくホストが前記記憶部に記憶されている場合に、当該ホストに対応する接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするプログラム。
  6. 電子メールを配送するメールサーバであって、
    電子メールを受け付ける処理を行う受け付け部と、
    前記電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得し、当該ホストに基づいて、DNSサーバから接続先アドレスを取得し、取得した接続先アドレスに接続して前記電子メールを配送する処理を行う配送部と、
    前記接続先アドレスへの接続を保持するコネクションプール部と、
    前記接続先アドレスへの接続を保持している場合に、前記電子メールの宛先のドメインと、前記ホストと、前記接続先アドレスとを対応付けて記憶部に記憶する処理を行うコネクション情報管理部と、を含み、
    前記配送部が、
    新たに受け付けた電子メールの宛先のドメインが前記記憶部に記憶されていない場合に、当該電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得し、
    当該ホストが前記記憶部に記憶されていない場合に、当該ホストに基づいて、DNSサーバから接続先アドレスを取得し、
    取得した当該接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするメールサーバ。
  7. 電子メールを配送するメールサーバであって、
    電子メールを受け付ける処理を行う受け付け部と、
    前記電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得できない場合に、前記電子メールの宛先のドメインをホストとし、当該ホストに基づいて、DNSサーバから接続先アドレスを取得し、取得した接続先アドレスに接続して前記電子メールを配送する処理を行う配送部と、
    前記接続先アドレスへの接続を保持するコネクションプール部と、
    前記接続先アドレスへの接続を保持している場合に、前記ホストと、前記接続先アドレスとを対応付けて記憶部に記憶する処理を行うコネクション情報管理部と、を含み、
    前記配送部が、
    新たに受け付けた電子メールの宛先のドメインに基づいて、DNSサーバからMXレコードのホストを取得し、
    当該ホストが前記記憶部に記憶されていない場合に、当該ホストに基づいて、DNSサーバから接続先アドレスを取得し、
    取得した当該接続先アドレスが前記記憶部に記憶されている場合に、当該接続先アドレスの接続を利用して当該電子メールを配送する処理を行うことを特徴とするメールサーバ。
JP2014200361A 2014-09-30 2014-09-30 プログラム及びメールサーバ Active JP6491847B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014200361A JP6491847B2 (ja) 2014-09-30 2014-09-30 プログラム及びメールサーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014200361A JP6491847B2 (ja) 2014-09-30 2014-09-30 プログラム及びメールサーバ

Publications (2)

Publication Number Publication Date
JP2016072809A JP2016072809A (ja) 2016-05-09
JP6491847B2 true JP6491847B2 (ja) 2019-03-27

Family

ID=55865036

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014200361A Active JP6491847B2 (ja) 2014-09-30 2014-09-30 プログラム及びメールサーバ

Country Status (1)

Country Link
JP (1) JP6491847B2 (ja)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3553485B2 (ja) * 2000-11-10 2004-08-11 ファーストサーバ株式会社 プリペイドメールシステム
US7058687B2 (en) * 2001-04-03 2006-06-06 Sendmail, Inc. E-mail system with methodology for accelerating mass mailings
JP2003110624A (ja) * 2001-10-01 2003-04-11 Galileozest Co Ltd 電子データ送信システム、電子データ送信方法及びログ取得システム
JP2003216477A (ja) * 2002-01-18 2003-07-31 Mitsubishi Electric Corp データ共有システム及びデータ共有方法
JP3855104B2 (ja) * 2002-07-24 2006-12-06 高司 松原 電子メール転送方法及び電子メール転送プログラム並びに電子メール転送サーバ
US7720911B2 (en) * 2003-02-20 2010-05-18 Strongmail Systems, Inc. Email using queues in non-persistent memory
JP2006100928A (ja) * 2004-09-28 2006-04-13 Siella Inc メール転送装置及びメール送信システム
JP5830434B2 (ja) * 2012-06-01 2015-12-09 株式会社日立製作所 通信システム

Also Published As

Publication number Publication date
JP2016072809A (ja) 2016-05-09

Similar Documents

Publication Publication Date Title
US20090241180A1 (en) System and Method for Data Transport
US20130266129A1 (en) Method and system for recalling a voice mail
US9608831B2 (en) Migrating a chat message service provided by a chat server to a new chat server
JP3973660B2 (ja) 無線通信デバイスに電子メールをプッシュするための方法および装置
US20140372548A1 (en) Optimized routing for proxy use
JP6046110B2 (ja) 国際化eメールシステムと非国際化eメールシステムとのメッセージ伝送
US20120303718A1 (en) Receiving email attachments when a mailbox is full
JP6250778B1 (ja) メールサーバ装置、メールサービス方法、ならびに、プログラム
JP2009169866A (ja) 電子メールクライアントおよびその制御方法ならびにコンピュータプログラム
JP6491847B2 (ja) プログラム及びメールサーバ
JP5864133B2 (ja) プログラム及びサーバ
WO2012167473A1 (zh) 消息状态设置方法和cpm业务服务器
JP6119107B2 (ja) 宛先アドレスの妥当性を判定するためのプログラム、宛先アドレスの妥当性の判定を支援するためのプログラム、方法、および情報処理装置
JP3938145B2 (ja) 電子メール代理装置およびプログラム
JP7283352B2 (ja) メール監視装置およびメール監視方法
JP2021175075A (ja) プログラム及びメールサーバ
JP6379592B2 (ja) ネットワーク管理装置、ネットワーク管理プログラムおよびネットワーク管理方法
EP2976858B1 (en) Global email identity preferences
CN107566260B (zh) 一种基于用户邮箱免客户端免登陆的统一身份认证方法
CN108418852B (zh) 访问控制方法、代理服务器及存储介质
JP4616859B2 (ja) 無線通信デバイスに電子メールをプッシュするための方法および装置
KR100890591B1 (ko) 이메일을 무선 통신 장치로 푸시하는 방법 및 장치
JP2012039579A (ja) ネットワーク通信装置
JP6056565B2 (ja) 通信装置および電子メールの送信先決定方法
KR100460731B1 (ko) 인스턴트 메시징과 연계한 전자메일 서비스 제공 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180815

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181015

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190304

R150 Certificate of patent or registration of utility model

Ref document number: 6491847

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250