WO2012029374A1 - メール転送システム、メールゲートウェイ及びデータストアサーバ - Google Patents

メール転送システム、メールゲートウェイ及びデータストアサーバ Download PDF

Info

Publication number
WO2012029374A1
WO2012029374A1 PCT/JP2011/063828 JP2011063828W WO2012029374A1 WO 2012029374 A1 WO2012029374 A1 WO 2012029374A1 JP 2011063828 W JP2011063828 W JP 2011063828W WO 2012029374 A1 WO2012029374 A1 WO 2012029374A1
Authority
WO
WIPO (PCT)
Prior art keywords
mail
data
destination
management information
gateway
Prior art date
Application number
PCT/JP2011/063828
Other languages
English (en)
French (fr)
Inventor
木下 雅文
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to CN201180031505.9A priority Critical patent/CN102986174B/zh
Priority to US13/806,330 priority patent/US20130191484A1/en
Publication of WO2012029374A1 publication Critical patent/WO2012029374A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Definitions

  • the present invention relates to a mail transfer system, and more particularly, to a mail transfer system that reduces the storage capacity for storing mails sent to a plurality of destinations and increases the efficiency of mail transfer.
  • a mail relay device (such as a mail gateway or mail transfer server) that forwards an e-mail to a destination node temporarily stores the received mail in a storage device (such as a magnetic disk drive) and sends the stored mail to a specified destination. Forward to.
  • a mail relay device reading and writing data to the storage device is a performance bottleneck.
  • the mail relay apparatus receives mails of a plurality of destinations and transmits the same e-mail to a plurality of destinations, there is a method of copying the mails corresponding to the mail destinations and storing the plurality of copied mails in a storage device. Proposed. In this case, the capacity of the storage device is consumed by the number of copied mails, the number of times of reading and writing of the storage device is increased, and this becomes a performance bottleneck. For this reason, it has been a problem to realize efficient transfer of electronic mail while reducing the amount of data necessary for storing electronic mail.
  • a mail system described in Japanese Patent Laid-Open No. 7-264234 has been proposed.
  • a mail main body and transmission information are separated, and a mail information storage unit for registering transmission information and a mail management unit for managing data in the mail information storage unit are provided.
  • the mail is delivered to the mail storage area, not to each destination. For this reason, when the same electronic mail is transmitted to a plurality of destinations, the amount of data necessary for storing the electronic mail is reduced.
  • a transmission queue is generally provided for each mail relay apparatus (domain) that is a mail transfer destination.
  • mail transfer failure / success may be mixed depending on the destination even in the same queue. In the conventional method, it is not considered that mail transfer failure / success is mixed in a plurality of destinations.
  • an object of the present invention is to reduce the storage capacity required for mail storage and to improve the efficiency of mail relay processing.
  • a typical example of the present invention is as follows. That is, a mail transfer system comprising a mail gateway that receives an e-mail transmitted from a terminal, and a network that connects the terminal and the mail gateway, wherein the received mail is temporarily stored in the mail transfer system.
  • the mail gateway is connected to a plurality of mail transfer servers, and each mail transfer server has a queue for storing the mail to be transferred.
  • the received mail address includes a plurality of addresses accommodated in the same mail transfer server
  • one first mail management information including the plurality of addresses accommodated in the mail transfer server is created.
  • the mail data obtained by linking the created first mail management information with the mail text is stored in the data case.
  • the destination of the received mail stored in the area includes one destination accommodated in the same mail transfer server, mail management information including the destination is created for each destination, and the created Mail data in which a plurality of mail management information and the mail text are linked is stored in the data storage area.
  • the first embodiment it is a sequence diagram of the processing when a part of the destination of the mail in which the data of the mail text is commonly managed is not reached. It is a flowchart of the mail transmission / deletion process of the first embodiment. It is a block diagram which shows the structure of the mail transfer system of 2nd Embodiment. It is a block diagram which shows the structure of the mail gateway of 2nd Embodiment. It is a block diagram which shows the structure of the data store server of 2nd Embodiment. It is a sequence diagram which shows an example (when mail data is shared) of the mail transfer process of 2nd Embodiment. It is a figure explaining an example of the packet transmitted to the data store server of 2nd Embodiment.
  • FIG. 1 is a block diagram showing the configuration of the mail transfer system according to the first embodiment of this invention.
  • the mail transfer system is configured in the carrier network 103 and includes a mail gateway 106 and a mailbox server 107.
  • the mail gateway 106 and the mailbox server 107 are connected by a business operator network 103.
  • the provider network 103 is connected to the communication terminal 101 via the wireless network 102, and is connected to a plurality of mail transfer servers 105 ⁇ / b> A to 105 ⁇ / b> C via the network 104.
  • the mail gateway 106 is a computer that receives electronic mail data transmitted from the communication terminal 101 and transfers the received mail data to the mail transfer server 105A or the like.
  • the mail gateway 106 includes billing information for each mail destination, a notification notifying that the mail has arrived at the mobile phone, and indicating that the mail sender has successfully sent the mail to the destination. It has a function to send messages such as delivery notifications. These messages can be realized by the same mechanism as the transmission of the electronic mail in that the message is transmitted to the destination. In the present embodiment, these messages are not described, but the present invention can be applied to transfer of these messages.
  • the configuration of the mail gateway 106 will be described later with reference to FIG.
  • Mailbox server 107 is a computer that stores mail data received by mail gateway 106 and addressed to communication terminal 101 accommodated in its own network, and is a so-called POP server or IMAP server.
  • the wireless network 102 includes a base station and an exchange, and is connected to the communication terminal 101 via a wireless communication line.
  • the communication terminal 101 is a mobile communication terminal such as a mobile phone and has a function of transmitting and receiving mail such as MMS and Internet mail.
  • the mail transfer servers 105A to 105C are computers that are transfer destinations of mail data received by the mail gateway 106.
  • the mail transfer servers 105A to 105C may be mail servers that accommodate destination addresses or mail transfer servers on a transfer path to a mail server that accommodates destination addresses.
  • the network 104 is a network in which mail data is exchanged between a plurality of mail transfer servers such as the Internet.
  • FIG. 2 is a block diagram illustrating a configuration of the mail gateway 106 according to the first embodiment.
  • the mail gateway 106 includes a processor 202, a memory 207, a network interface 203, and a non-volatile storage device 208.
  • the processor 202 executes the mail gateway program 204.
  • Various processes performed by the mail gateway 106 are realized by the processor 202 executing the mail gateway program 204.
  • the network interface 203 is connected to the operator network 103 and communicates according to a predetermined protocol.
  • the storage device 208 is a nonvolatile storage device such as a magnetic disk device or a flash memory, and is provided with a mail storage area 209 and a log storage area 210.
  • the mail gateway 106 has a transmission queue for each mail transfer destination domain (mail transfer server), and stores the received mail in the transmission queue.
  • the mail stored in the transmission queue is transferred to the transfer destination mail transfer server 105A or the like.
  • the mail gateway 106 stores the received mail in both the mail management / storage area 205 and the backup mail storage area 209. Since the mail management / storage area 205 is on the memory 207 and is faster in reading and writing than the non-volatile storage device 208, the normal mail gateway 106 uses the mail management information on the mail management / storage area 205 (details are shown in FIG. 3). Read / write (Description) and perform various processes.
  • the received mail is also stored in the backup mail storage area 209 so that the received mail is not lost even if the mail gateway 106 is stopped due to a failure or the like.
  • the mail stored in the mail management / storage area 205 and the mail storage area 209 is deleted after the mail transfer to the transfer destination server is completed.
  • the mail gateway 106 performs only two accesses to the backup mail storage area 209: mail storage at the time of mail reception and deletion after transfer completion.
  • 3A to 3C are diagrams for explaining the mail management method used in the first embodiment.
  • the mail data received by the mail gateway 106 is stored as the mail text in the figure.
  • the mail management information is data created by the mail gateway 106 from mail client communication and mail body analysis in order to perform mail transfer processing, and is information transferred when mail is transferred between mail relay devices. Address, sender, authentication information, mail usage, mail type, and the like.
  • the mail gateway 106 processes mail forwarding using the mail management information.
  • the complete separation method which is the first method, creates the mail body as many as the number of mail destinations by copying the mail body, and sets the mail data (mail management information, Email body).
  • email management information Email body
  • the complete separation method is applied when it is necessary to rewrite the mail text for each recipient, but the complete separation method is also applied when the mail text of multiple recipients is the same. can do.
  • mail data including the mail body is created for each destination. Therefore, a large amount of storage space is required to store the mail data.
  • the mail status for each destination transfer completed, undelivered
  • Etc. mail recovery processing in the event of a failure.
  • the mail text sharing method a plurality of mail management data is created for each destination, but the mail text is common to each mail management data. Correspondence is managed by linking each mail management data with the mail text. That is, in the mail text sharing method, each mail management data includes one address, and the mail text is common to all mail management data (all addresses).
  • the mail text sharing method is applied when a plurality of destination domains are different. The mail text sharing method is applied when mail is transferred to a plurality of destinations addressed to the own network, or when mail data is divided for each destination mailbox. In this case, the data stored in the mail storage area is composed of mail management information for each destination mailbox and one mail text.
  • the mail text is shared by a plurality of mail management data, so that the storage area required for storing mail data can be reduced.
  • mail management is complicated, such as using a reference counter for managing the mail status for each destination, and mail recovery processing when a failure occurs is complicated.
  • the multiple address / mail text sharing system which is the third system, creates a plurality of mail management data, and the mail text is common to each mail management data.
  • One or more destinations are included.
  • Each mail management data is managed in correspondence with the mail text by being linked.
  • the multi-address / mail text sharing method is applied to a case where the mail is transferred to a plurality of addresses accommodated in the same mail transfer server 105A or the like.
  • the multi-address / mail text sharing method cannot be applied when there are a plurality of addresses in the own network.
  • the mail data created for each address includes mail management information excluding the mail text, the mail text is shared by each mail management data, and more than one mail management information Since it is shared by the destination, the storage area required for storing the mail data can be reduced.
  • the management of the mail status since the number of addresses included in the mail management information is different, the management of the mail status (transfer success, non-delivery, etc.) becomes complicated. In this case, if the transfer success (or non-delivery) is output to the log or recorded in the mail management information, the processing can be separated according to the mail status.
  • the multi-address / mail body sharing method cannot be applied if the processing is completely different. It is not applicable to what is separated.
  • the mail gateway 106 includes a transmission queue for each transfer destination domain. For this reason, since mails sent to different domains have different states, it is desirable to divide the mail management information into a plurality of pieces. For this reason, in this embodiment, the above-described three mail management methods are used properly.
  • FIG. 4 shows an example of a mail transfer process sequence according to the first embodiment (when mail data is shared).
  • the mail transfer servers 105A and 105B are mail servers that accommodate the destination address, but may be mail transfer servers on the transfer path to the mail server that accommodates the destination address.
  • the communication terminal (mail client) 101 When transmitting a mail, the communication terminal (mail client) 101 establishes a connection with the mail gateway, and then transmits a MAIL FROM message 401 to the mail gateway 106 to convey the address of the sender of the mail.
  • the parameter of the MAIL FROM message 401 describes the address of the mail sender.
  • the mail gateway 106 When the mail gateway 106 correctly receives the MAIL FROM message, the mail gateway 106 transmits a 250 OK message 402 indicating that the MAIL FROM message has been correctly received to the mail client 101.
  • the mail client 101 transmits an RCPT TO message 403 to the mail gateway 106 and transmits one destination address (a1@aaa.ne.jp) of this mail.
  • the destination address is described in the parameter of this RCPT TO message.
  • the mail gateway 106 determines whether or not the destination address included in the received RCPT TO message is correct, and temporarily determines a method for storing this mail in the mail management / storage area 205 and the mail storage area 209 (404). ). If it is determined that the destination address is correct, a 250 OK message 405 is transmitted to the mail client 101. Details of the RCPT check 404 will be described later with reference to FIG.
  • the mail client 101 transmits an RCPT TO message 406 to the mail gateway 106 to notify another destination address (b2@bbbb.ne.jp) of this mail.
  • the mail gateway 106 determines whether or not the destination address included in the received RCPT TO message is correct, and primarily determines a method of storing this mail in the mail management / storage area 205 and the mail storage area 209 (407). ). If it is determined that the destination address is correct, a 250 OK message 408 is transmitted to the mail client 101. Details of the RCPT check 404 will be described later with reference to FIG.
  • the mail gateway 106 When the mail gateway 106 correctly receives the mail (management information and text such as transmission source and destination), the mail gateway 106 determines the management method of the mail text (410), and based on the determined method, the mail management information addressed to a1, The mail management information addressed to b2 and the mail text are stored in the mail management / storage area 205 and the mail storage area 209 (411, 412, 413). Thereafter, the mail gateway 106 transmits a 250 OK message 414 indicating that the mail has been correctly received to the mail client 101.
  • the mail gateway 106 transfers the mail to the mail transfer server A (105A) in which the destination a1 is accommodated (415).
  • the mail transfer server A (105A) correctly receives the mail
  • the mail transfer server A (105A) transmits a 250 OK message 416 indicating that the mail is correctly received to the mail gateway 106.
  • the mail gateway 106 succeeds in transferring the mail addressed to a1, the mail gateway 106 deletes the management information of the mail addressed to a1 from the mail management / storage area 205 and the mail storage area 209 (417).
  • the mail gateway 106 transfers the mail to the mail transfer server B (105B) in which the destination b2 is accommodated (418).
  • the mail transfer server B (105B) receives the mail
  • the mail transfer server B (105B) transmits a 250 OK message 419 indicating that the mail is correctly received to the mail gateway 106.
  • the mail gateway 106 deletes the management information of the mail addressed to b2 from the mail management / storage area 205 and the mail storage area 209 (420).
  • the mail gateway 106 deletes the mail data from the mail management / storage area 205 and the mail storage area 209 when the transmission of the mail to all the destinations is completed (421).
  • step 410 when it is determined in step 410 that the mail is to be processed in the complete separation mode (step 605 in FIG. 6), the management information and the mail text of the mail addressed to a1 are deleted in step 417, and addressed to b2 in step 420. It is only necessary to delete the mail management information and the mail text. In the complete separation method, the mail management information and the mail text have a one-to-one correspondence. Therefore, in this way, it is not necessary to delete the mail text in step 421.
  • step 410 If it is determined in step 410 that the mail is to be processed by the multiple address / mail text sharing method (step 513 in FIG. 5, there are two addresses of domain A.com in this case), in step 415, Two mails are sent (two RCPT TOs are sent in succession), and the management information of the mail addressed to a1 (2 destinations are stored) is deleted in step 417.
  • the mail management information may be deleted, and the common mail text may be deleted in step 421.
  • FIG. 5 is a flowchart of the RCPT check process according to the first embodiment, which is executed by the mail gateway 106 (mail gateway program 204) in steps 404 and 407 of FIG.
  • a mail management method is determined by analyzing a mail header (particularly, a destination address).
  • a transmission queue corresponding to the domain to which the destination belongs is selected (501).
  • step 501 it is determined whether or not the transmission queue selected in step 501 is in a restricted state (502). As a result, if the selected transmission queue is in a restricted state, an email cannot be sent to this destination, so an error message is sent to the email client 101 (503). On the other hand, if the selected transmission queue is not in the restricted state, the process proceeds to step 504.
  • step 504 the number of destinations (RCPT number) of this mail is counted (504), and it is determined whether or not the counted number of RCPT exceeds the maximum value allowed in one mail (505). .
  • the counted number of RCPT exceeds the maximum value of mail, mail cannot be transferred to this destination, and an error is returned to the mail client 101 (506).
  • the process proceeds to step 507.
  • Step 507 it is determined whether or not the counted RCPT number is “1”. As a result, if the counted RCPT number is “1”, this mail may be transferred to one destination, so mail management information describing the RCPT information of this destination is created, and this RCPT check process is terminated. (508). On the other hand, if the counted RCPT number is not “1”, the mail needs to be transferred to a plurality of destinations, and the process proceeds to step 509.
  • step 509 it is determined whether the destination mail address is an address included in the own network. As a result, if the destination mail address is not an address included in the own network, the process proceeds to step 511. On the other hand, if the destination mail address is not included in the own network, the user information is acquired from the mailbox server 107 (510), and the process proceeds to step 511.
  • the user information includes information on the attached file that can be received by the user's terminal (particularly, the format and size of the image file), information on the mail transfer destination mailbox, and the configuration of the server that processes this mailbox. Contains information.
  • step 511 it is determined whether there is a destination in the same domain as this destination. As a result, if there is no destination in the same domain as this destination, there is no destination to be transferred to the same mail transfer server 105A or the like as this destination, and it is necessary to create mail management information corresponding to this destination. Proceed to On the other hand, if there is a destination in the same domain as this destination, it is determined whether or not the number of RCPT exceeds the maximum value outside the network (512).
  • the maximum value of the number of RCPTs is the maximum number of destinations that can be transmitted together with one mail, that is, one mail management information.
  • the process proceeds to step 514.
  • the RCPT number does not exceed the maximum value outside the network, mail data in which the mail text is collected in a common format can be created. Therefore, the RCPT information of this destination is added to the mail management information of the destination of the same domain (513).
  • the mail gateway 106 not only has one maximum value outside the network for the entire system, but can also set the maximum value outside the network individually for each destination domain. For example, if the destination is a domain such as a communication carrier and the probability of transmission failure is very low, the mail gateway 106 selects a large maximum value outside the network. On the other hand, if the domain has a high probability of transmission failure, there is a high possibility of failure. Therefore, it is possible to proceed to step 514 without collecting destinations with a small maximum value outside the network or the same domain.
  • step 514 new mail management information is created (514), and this destination RCPT information is added to the created mail management information (515). If the RCPT number exceeds the maximum value in step 512 and new mail management information is created in step 514, the next and subsequent mails are collected until the RCPT number exceeds the maximum value with the new mail management information. be able to.
  • FIG. 6 is a flowchart of the management method determination process (mail text check process) according to the first embodiment, which is executed by the mail gateway 106 (mail gateway program 204) in step 410 of FIG.
  • the mail body check process the mail body is analyzed to determine the mail management method.
  • the management method is changed to a format in which the mail text is already separated in the RCPT check process (FIG. 5) and the mail text is determined to be managed.
  • step 602 the mail management information of this destination is analyzed. Specifically, the format of the mail text, the presence / absence of an attached file, and the presence / absence of user information are checked. This user information is the information acquired in step 510 in FIG.
  • step 602 based on the determination result in step 602, it is determined whether the destination of this mail is within the own network, an image file is attached, and whether the user information setting is different (603). As a result, if the destination of the mail is within the own network, the image file is attached, and the user information setting is different, the image file needs to be converted, and the process proceeds to step 605). On the other hand, if this mail is addressed to a mail transfer server outside the network, an image file is not attached, or the user information setting satisfies the same condition, the process proceeds to step 604 and the mail format is cHTML. It is determined whether or not it is in a format, that is, whether or not this mail is deco-mail.
  • the mail body needs to be converted, and the process proceeds to step 605.
  • step 605 in order to separate and manage the mail body according to the destination, the mail body is copied, the mail management information is separated, and the separated mail management information is added to the copied mail body and stored in the destination queue. (605).
  • the mail format is the cHTML format. However, it is determined whether or not the mail format is the plain text format, and the mail format is the plain text format. If there is, it can be determined that there is no need to convert the mail text.
  • a pictograph is included in the mail body. If the mail body includes a pictograph, it can be determined that the mail body needs to be converted.
  • FIG. 7 is a sequence diagram in a case where a part of a mail address in which the data of the mail text is commonly managed is not reached in the first embodiment.
  • the mail transfer server 105A is a mail server that accommodates a destination address, but may be a mail transfer server on a transfer path to a mail server that accommodates a destination address.
  • the mail gateway 106 transmits a MAIL FROM message to the mail transfer server A (105A) and informs the sender address of the mail (701).
  • the mail transfer server A (105A) correctly receives the MAIL FROM message
  • the mail transfer server A (105A) transmits a 250 OK message indicating that the MAIL FROM message has been correctly received to the mail gateway 106 (702).
  • the mail gateway 106 transmits an RCPT TO message to the mail transfer server A (105A) and conveys one destination address (a1@aaa.ne.jp) of this mail (703).
  • the mail transfer server A (105A) determines whether or not the destination address included in the RCPT TO message is accommodated in the mail transfer server A (105A).
  • the mail transfer server A (105A) transmits a 250 OK message to the mail gateway 106 (704).
  • the mail gateway 106 transmits an RCPT TO message to the mail transfer server A (105A) and transmits another destination address (b2@aaaa.ne.jp) of this mail (705).
  • the mail transfer server A (105A) determines whether or not the destination address included in the RCPT TO message is accommodated in the mail transfer server A (105A). When the destination address is not accommodated in the mail transfer server A (105A), the mail transfer server A (105A) transmits an error response to the mail gateway 106 (706).
  • the mail gateway 106 When the mail gateway 106 receives the error response, the mail gateway 106 copies and separates the mail text in order to request a non-delivery notification (707).
  • the mail gateway 106 sends the address b2 @ aaa. ne. Notify that the mail addressed to jp has not been reached (709).
  • the mail client 101 When the mail client 101 correctly receives the non-delivery notification from the mail gateway 106, the mail client 101 transmits a non-delivery notification response to the mail gateway 106 (710).
  • the mail gateway 106 receives the non-delivery notification response, the address b2 @ aaa. ne. The fact that the mail addressed to jp has not been delivered, that is, the successful transmission of the delivery notice is output to the mail management information and log (711).
  • step 707 the mail management / storage area 205, the backup mail storage area 209, and the mail management area only for non-delivery notification are written in the mail management / storage area 205, the backup mail storage area 209, and the log. If created, the processing in steps 707 to 711 can be realized without separating the mail body.
  • the mail body text separated in step 707 is processed in parallel with steps 709 and 710 at the address a1 @ aaa. ne. It is transmitted to the mail transfer server A (105A) as a mail addressed to jp (713).
  • the mail transfer server A (105A) correctly receives the mail body, the mail transfer server A (105A) transmits a 250 OK message indicating that the mail body has been correctly received to the mail gateway 106 (714).
  • the mail gateway 106 When the mail gateway 106 receives the confirmation response (250 OK) to the transmission of the mail body, the mail gateway 106 outputs the successful transmission of the mail body to the mail management information and log (715).
  • the mail gateway 106 has a1 @ aaa. ne. jp successful mail transfer, b2 @ aaa. ne. Since it is determined that the transfer of mail addressed to jp has failed (not reached), the mail management information and the mail data (text) are deleted from the mail management / storage area 205 and the mail storage area 209 (716).
  • the mail gateway 106 processes the non-delivery notification (709 to 710) to the mail client 101 and the separation and transfer (712 to 715) of the mail body in parallel in different threads. Processing in one thread can be performed by sequentially processing the non-delivery notification (709 to 710) and the mail body separation and transfer (713 to 716).
  • the status of the mail can be simplified and managed by sequentially outputting the transfer results to the mail management information and log. For example, when mail transfer is successful, the distribution process can be terminated by outputting to a log.
  • FIG. 8 is a flowchart of the mail transmission / deletion process according to the first embodiment, which is executed by the mail gateway 106 (mail gateway program 204) in steps 515 to 521 of FIG.
  • the mail gateway 106 transmits the mail text to the mail transfer server (or the next mail transfer server) (801), and waits for a reply from the transfer destination mail transfer server.
  • the mail gateway 106 determines a reply from the mail transfer server at the transfer destination (802). If the reply from the transfer destination mail transfer server is successful, the process proceeds to step 803 to start the process of deleting the mail data. On the other hand, if the reply from the mail transfer server at the transfer destination is a transmission failure, the process proceeds to step 808 to request a non-delivery notification.
  • step 803 since the mail transmission has succeeded, 1 is subtracted from the reference number (reference counter) of the mail data, the mail transmission success is output to the log, and is included in the management information of the address at which the mail transmission was successful. Change the status to be sent.
  • this email transmission / deletion process is terminated and another email transmission / deletion process is started in order to send other emails.
  • a reference counter indicating the number of mail management information of unsent mail linked to the mail text is checked (805).
  • the reference counter is 0 (YES in 806)
  • the mail transmission to all destinations is complete, so the mail text and mail management information are deleted (807), and this mail transmission / deletion process Exit.
  • the reference number of the mail data is not 0 (NO in 806), the mail has not been sent to some destinations. Therefore, in order to send the unsent mail, this mail sending / deleting process is terminated, Start sending / deleting the next mail.
  • step 808 since the transmission of the mail has failed, it is determined whether or not the number of retransmissions of this mail exceeds the maximum number of retransmissions and whether or not it has expired (808). If the number of resends for this email does not exceed the maximum number of resends and the expiration date has not expired, this email sending / deleting process is terminated and the next email sent to resend the email to this destination. ⁇ Start the deletion process.
  • the mail management method is determined based on the mail management information and the mail text, and appropriate mail management is performed based on the mail. It is possible to reduce the efficiency and improve the efficiency of mail relay processing.
  • the mail management method since the mail management method is first determined based on the mail management information, and then the mail management method is finally determined based on the mail text, the mail management method can be determined efficiently.
  • the mail gateway 106 does not include a mail storage area, and the data store server 108 includes a mail storage area. That is, mail data to be transferred by the mail gateway 106 is transferred from the mail gateway 106 to the data store server 108 and deleted after the mail transfer by the mail gateway 106 is completed.
  • FIG. 9 is a block diagram illustrating a configuration of the mail transfer system according to the second embodiment.
  • the mail transfer system is configured in the carrier network 103 and includes a mail gateway 106, a mailbox server 107, and a data store server 108.
  • the mail gateway 106, the mailbox server 107, and the data store server 108 are connected by the carrier network 103.
  • the provider network 103 is connected to the communication terminal 101 via the wireless network 102 and is connected to the mail transfer servers 105A to 105C via the network 104.
  • the mail gateway 106 is a computer that receives mail data transmitted from the communication terminal 101 and transfers the received mail data to the mail transfer server 105A or the like.
  • a log storage area 210 is provided in the storage device 208 of the mail gateway 106. Note that the mail storage area 209 provided in the mail gateway 106 of the first embodiment is provided in the data store server 108.
  • the data store server 108 includes a mail storage area (1009 in FIG. 11) that temporarily stores mail data transmitted from the communication terminal 101 and transferred to each mail transfer server 105A or the like.
  • FIG. 10 is a block diagram illustrating a configuration of the mail gateway 106 according to the first embodiment.
  • the mail gateway 106 includes a processor 202, a memory 207, a network interface 203, and a non-volatile storage device 208.
  • the storage device 208 is a nonvolatile storage device such as a magnetic disk device or a flash memory, and is provided with a management information storage area 211 and a log storage area 210.
  • the mail management / storage area 205 stores the mail text and mail management information of the received mail (mail to be transferred).
  • the mail management information stored in the mail management / storage area 205 is deleted after the mail transfer to the transfer destination server is completed.
  • the second embodiment does not hold a backup mail storage area in the nonvolatile storage device 208, but stores the backup in the data store server 108 instead.
  • FIG. 11 is a block diagram illustrating a configuration of the data store server 108 according to the second embodiment.
  • the data store server 108 includes a processor 1102, a memory 1107, a network interface 1103, and a storage device 1108.
  • the processor 1102 executes a program stored in the data store server program 1104.
  • various processes performed by the data store server 108 are realized.
  • the network interface 1103 is connected to the operator network 103 and communicates with the mail gateway 106 according to a predetermined protocol.
  • the nonvolatile storage device 1108 is a nonvolatile storage device such as a magnetic disk device or a flash memory.
  • the data store server program 1104 manages a backup mail storage area 1107 and a backup mail storage area 1109 which are backup areas of the mail management / storage area 205 of the mail gateway 106.
  • the data store server program 1104 holds the backup mail storage area 1107 and the backup mail storage area 1109.
  • the present invention can be implemented only by holding it in either one.
  • the data store server holds data in the backup mail storage area 1107 as a cache, and holds data in the backup mail storage area 1109 as a main storage device.
  • the backup mail storage area 1107 and the backup mail storage area 1109 only store mail in this embodiment, but the data store server can store data other than mail. It can be handled as uniform binary data.
  • FIG. 12 is a sequence diagram illustrating an example of mail transfer processing according to the second embodiment (when mail data is shared).
  • the communication terminal (mail client) 101 transmits a mail
  • the communication terminal (mail client) 101 transmits a MAIL FROM message 1201 to the mail gateway 106 and notifies the address of the sender of the mail.
  • the parameter of the MAIL FROM message 1201 describes the address of the mail sender.
  • the mail gateway 106 correctly receives the MAIL FROM message, the mail gateway 106 transmits a 250 OK message 1202 indicating that the MAIL FROM message has been correctly received to the mail client 101.
  • the mail client 101 transmits an RCPT TO message 1203 to the mail gateway 106 and conveys one destination address (a1@aaa.ne.jp) of this mail.
  • the destination address is described in the parameter of this RCPT TO message.
  • the mail gateway 106 determines whether or not the destination address included in the received RCPT TO message is correct, and primarily determines a method for storing this mail in the data store server 108 (mail storage area 1109) (1204). . If it is determined that the destination address is correct, a 250 OK message 1205 is transmitted to the mail client 101.
  • the method of the first embodiment (FIG. 5) described above can be used.
  • the mail client 101 transmits an RCPT TO message 1206 to the mail gateway 106 to notify another destination address (b2@bbbb.ne.jp) of this mail.
  • the mail gateway 106 determines whether or not the destination address included in the received RCPT TO message is correct, and primarily determines a method for storing this mail in the data store server 108 (1207). If it is determined that the destination address is correct, a 250 OK message 1208 is transmitted to the mail client 101.
  • the RCPT check 1207 can use the method of the first embodiment (FIG. 5) described above.
  • the mail client 101 transmits all the RCPT TO messages (destination addresses), the mail client 101 transmits the mail text 1209.
  • the mail gateway 106 When the mail gateway 106 correctly receives the mail (management information and text such as a transmission source and destination), the mail gateway 106 stores the mail in the mail management / storage area 205, determines the management method of the mail text (1210), and determines the determined method. Based on this, a packet to be stored in the data store server 108 is created (1211), and the created stored packet is transferred to the data store server 108 (1212).
  • the data store server 108 stores the received storage packet in the mail storage area 1107 and the mail storage area 1109 (1213), and transmits a confirmation response indicating that the storage of the received packet is completed to the mail gateway 106 (1214). .
  • the mail gateway 106 When the mail gateway 106 receives the confirmation response from the data store server 108, the mail gateway 106 transmits a 250 OK message 1215 indicating that the mail has been correctly received to the mail client 101 (1215).
  • the mail gateway 106 transmits a mail to the mail transfer server A (105A) in which the destination a1 is accommodated (1216).
  • the mail transfer server A (105A) correctly receives the mail
  • the mail transfer server A (105A) transmits a 250 OK message 1217 indicating that the mail is correctly received to the mail gateway 106 (1217).
  • the mail gateway 106 transmits a request to delete the mail addressed to a1 to the data store server 108 (1218).
  • the data store server 108 receives a request to delete the mail addressed to a1
  • the data store server 108 deletes the mail addressed to a1 from the mail storage area 1107 and the mail storage area 1109.
  • the mail gateway 106 deletes the management information of the mail addressed to a1 from the mail management / storage area 205 (1220).
  • the mail gateway 106 transmits a mail to the mail transfer server B (105B) in which the destination b2 is accommodated (1221).
  • the mail transfer server B (105B) correctly receives the mail
  • the mail transfer server B (105B) transmits a 250 OK message 1222 indicating that the mail is correctly received to the mail gateway 106 (1222).
  • the mail gateway 106 succeeds in transferring the mail addressed to b2, the mail gateway 106 transmits a request to delete the mail addressed to b2 to the data store server 108 (1223).
  • the mail gateway 106 deletes the mail addressed to b2 from the mail storage area 1107 and the mail storage area 1109, and the deletion success response 1224 from the data store server. Send.
  • the mail gateway 106 receives the success response 1224, the mail gateway 106 deletes the management information of the mail addressed to b2 from the mail management / storage area 205 (1225), and the mail addressed to both the mail addressed to a1 and the mail addressed to b2 is managed in common.
  • the body data is deleted from the queue (1226).
  • FIG. 13 is a diagram illustrating an example of a packet transmitted to the data store server 108 according to the second embodiment.
  • the packet transmitted to the data store server 108 includes a packet type 1310, the number of keys 1300, a plurality of keys 1301, 1303, a plurality of extended key data 1302, 1304, and registration data 1309.
  • the packet type 1310 indicates processing (for example, registration, deletion, etc.) executed by the data store server 108 that has received this packet.
  • the key number 1300 represents the number of keys included in this packet. Although two keys are shown in FIG. 13, the number of keys may be one or any number. Keys 1301 and 1303 are identifiers for uniquely identifying mail management information corresponding to the keys. Extended key data 1302 and 1304 store difference data between the mail management information corresponding to the key and the basic mail management information. The basic mail management information may be the first mail management information.
  • the registration data 1309 includes mail management information and a mail text.
  • the mail gateway 106 manages mail by one of the mail management methods 1 to 3.
  • FIG. 14 is a diagram for explaining mail management executed by the mail gateway 106 according to the second embodiment, and shows a case of the complete separation method (FIG. 3A).
  • mail data (mail management information, mail text) is created for each destination. Thereafter, keys 1301 and 1303 are assigned to the original mail 1400 and the mail 1410 newly created by copying.
  • the mail management information of each mail is compared with the mail management information of the first mail, and the difference is stored in the extended key data 2 (1304). Since no difference occurs in the mail management information corresponding to the extended key data 1 (1302), information indicating that there is no difference is stored in the extended key data 1 (1302).
  • FIG. 15 is a flowchart of packet configuration processing executed by the mail gateway 106 according to the second embodiment.
  • the mail management information of the second mail is selected (1501), and a key corresponding to the selected mail management information is created (1502).
  • next mail management information 1505. If there is next mail management information, the process returns to step 1502 to process the next mail. On the other hand, if there is no next mail management information, the processing has been completed for all the mail management information, so the created extension key data is concatenated to form a packet to be transmitted to the data store server 108 (1506).
  • FIG. 16 is a diagram illustrating data storage in the data store server 108 according to the second embodiment.
  • storage areas 1621 and 1622 for each key are secured in the mail storage area 1109, and the registration data 1309 is stored in the secured storage area.
  • Extended key data 1302 and 1304 corresponding to each key are stored in the subsequent area.
  • the data store server 108 described above stores mail data separately for each destination. This is because the data store server 108 generally has a sufficient storage capacity and can be processed at high speed, and the data store server 108 recognizes the data transmitted from the mail gateway 106 as mail. The same applies to emails, texts, and images. However, when the data store server 108 stores mail data, the mail data can be reconstructed for each destination, and the parts that can be shared can be collected.
  • FIG. 17 is a flowchart of packet configuration processing executed by the data store server 108 according to the second embodiment.
  • the data store server 108 determines the packet type 1310 of the received packet. If the packet type 1310 of the received packet is “registration”, it is determined that the stored packet has been received, and packet storage processing is started (1701).
  • the number of keys included in the packet is obtained, and the number of loops is determined (1702).
  • a key and key extension data are acquired from the received packet (1703, 1704), and until there is no next key (until the number of acquired keys becomes equal to the number of keys acquired in step 1702), step 1703
  • the processes 1 to 1704 are repeated (1705).
  • registration data (mail management information, mail text) is acquired from the received stored packet (1706).
  • Step 1707 Thereafter, one of the acquired keys is selected (1707), and a data storage area corresponding to the selected key is secured (1708). Then, the registration data and extended key data acquired in step 1706 are stored in the secured data storage area (1709). Steps 1707 to 1709 are repeated until all keys have been processed.
  • the data store server 108 is provided separately from the mail gateway 106, it is necessary to select an appropriate mail management method and store mail.
  • the storage capacity can be reduced and the mail relay process can be made more efficient.
  • the mail gateway 106 transmits the difference between the mail management information of the basic mail data to the data store server 108 instead of transmitting the mail data (mail body, mail management information) and all the mail management information.
  • the increase in the amount of data transmitted from the mail gateway 106 to the data store server 108 can be suppressed.
  • the data store server 108 stores the mail data received from the mail gateway 106 in the mail storage area 1109 without reconstructing the data, the data store server 108 can speed up the processing in the mail.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 メールゲートウェイとネットワークとを備えるメール転送システムであって、受信したメールが一時的に格納されるデータ格納領域を備え、前記メールゲートウェイは、前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれる場合、当該メール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報を作成し、前記作成された第1のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納し、前記受信したメールの宛先に同一の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記各宛先毎に、当該宛先を含むメール管理情報を作成し、前記作成された複数のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納する。

Description

メール転送システム、メールゲートウェイ及びデータストアサーバ 参照による取り込み
 本出願は、平成22年(2010年)8月31日に出願された日本特許出願特願2010-193122の優先権を主張し、その内容を参照することにより、本出願に取り込む。
 本発明は、メール転送システムに関し、特に、複数宛先へ送信されるメールを格納するための記憶容量を削減し、かつ、メールの転送を効率化するメール転送システムに関する。
 電子メールを宛先ノードまで転送するメール中継装置(メールゲートウェイ、メール転送サーバ等)は、受信したメールを一時的に記憶装置(磁気ディスクドライブ等)に保存し、保存されたメールを指定された宛先へ転送する。このようなメール中継装置では、記憶装置へのデータの読み書きが性能のボトルネックとなっている。
 また、メール中継装置が複数宛先のメールを受信し、同じ電子メールを複数の宛先に送信する際、メールの宛先分、メールを複製し、複製された複数のメールを記憶装置に格納する方法が提案されている。この場合、複製されたメールの数によって記憶装置の容量を消費し、記憶装置の読み書き回数が増加し、性能上のボトルネックとなる。このため、電子メールの格納に必要なデータ量を減らしつつ、効率的な電子メールの転送を実現することが課題となっている。
 このメールを格納するための記憶装置の削減と、メールの管理・転送の効率化はトレードオフの関係にあり、両立させることが求められている。
 この課題に対し、例えば、特開平7-264234号公報に記載されたメールシステムが提案されている。この特許文献1に記載されたメールシステムでは、メールの本体と送信情報とを分離し、送信情報を登録するメール情報格納部と、メール情報格納部のデータを管理するメール管理部とを設けることによって、メールを、宛先毎ではなく、メールの格納領域に配送している。このため、同じ電子メールを複数の宛先に送信する際、電子メールの格納に必要なデータ量を減少している。
 例えば、携帯電話事業者が運用するメール中継装置は、メールの種類によって処理の内容が異なる。具体的には、ドメイン毎にメールの輻輳を制御するために、一般に、メールの転送先のメール中継装置(ドメイン)毎に送信キューを備える。
 しかし、前述した従来の方法は、このような複数の送信キューを備えるメール中継装置に適用されることが考慮されていなかった。すなわち、宛先アドレスが含まれるドメインによってアクセス制御やトランスコーディングを行う必要がある。
 また、同一キュー内でも宛先によって、メールの転送の失敗・成功が混在する場合がある。従来の方法では、メールの転送の失敗・成功が複数宛先において混在することは考慮されていなかった。
 そこで、本発明は、メールの格納に必要な記憶容量を削減し、メールの中継処理の効率化を目的とする。
 本発明の代表的な一例を示せば以下の通りである。すなわち、端末から送信された電子メールを受信するメールゲートウェイと、前記端末と前記メールゲートウェイとを接続するネットワークと、を備えるメール転送システムであって、前記メール転送システムは、受信した前記メールが一時的に格納されるデータ格納領域を備え、前記メールゲートウェイは、複数のメール転送サーバと接続されており、転送されるメールが格納されるキューを、前記メールの転送先のメール転送サーバ毎に有し、前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれる場合、当該メール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報を作成し、前記作成された第1のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納し、前記受信したメールの宛先に同一の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記各宛先毎に、当該宛先を含むメール管理情報を作成し、前記作成された複数のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納する。
 開示によると、メールの格納に必要な記憶容量を削減し、メールの中継処理を効率化することができる。
第1の実施の形態のメール転送システムの構成を示すブロック図である。 第1の実施の形態のメールゲートウェイの構成を示すブロック図である。 第1の実施の形態で用いられるメール管理方式を説明する図である。 第1の実施の形態で用いられるメール管理方式を説明する図である。 第1の実施の形態で用いられるメール管理方式を説明する図である。 第1の実施の形態のメール転送処理のシーケンスの一例(メールデータが共有される場合)を示す。 第1の実施の形態のRCPTチェック処理のフローチャートである。 第1の実施の形態の管理方式判定処理(メール本文チェック処理)のフローチャートである。 第1の実施の形態において、メール本文のデータが共通に管理されたメールの一部の宛先が未達となった場合の処理のシーケンス図である。 第1の実施の形態のメール送信・削除処理のフローチャートである。 第2の実施の形態のメール転送システムの構成を示すブロック図である。 第2の実施の形態のメールゲートウェイの構成を示すブロック図である。 第2の実施の形態のデータストアサーバの構成を示すブロック図である。 第2の実施の形態のメール転送処理の一例(メールデータが共有される場合)を示すシーケンス図である。 第2の実施の形態のデータストアサーバへ送信されるパケットの一例を説明する図である。 第2の実施の形態のメールゲートウェイで実行されるメール管理を説明する図である。 第2の実施の形態のメールゲートウェイによって実行されるパケット構成処理のフローチャートである。 第2の実施の形態のデータストアサーバにおけるデータの格納を説明する図である。 第2の実施の形態のデータストアサーバによって実行されるパケット構成処理のフローチャートである。
 <実施形態1>
 図1は、本発明の第1の実施の形態のメール転送システムの構成を示すブロック図である。
 本実施の形態のメール転送システムは、事業者ネットワーク103内に構成されており、メールゲートウェイ106及びメールボックスサーバ107を備える。メールゲートウェイ106とメールボックスサーバ107とは、事業者ネットワーク103によって接続されている。
 事業者ネットワーク103は、無線ネットワーク102を介して通信端末101に接続されており、ネットワーク104を介して複数のメール転送サーバ105A~105Cに接続されている。
 メールゲートウェイ106は、通信端末101から送信された電子メールのデータを受信し、受信したメールデータをメール転送サーバ105A等に転送するコンピュータである。また、メールゲートウェイ106は、電子メールの他に、メールの宛先毎に課金情報、携帯電話にメールが届いたことを知らせる通知、メールの送信者が宛先へ正常にメールが送信されたことを示す配信通知等のメッセージを送信する機能を持つ。これらのメッセージは、メッセージを宛先に送信する点において、電子メールの送信と同じ機構で実現できる。本実施例では、これらのメッセージについては記述しないが、本発明をこれらのメッセージの転送に適用することは可能である。メールゲートウェイ106の構成は、図2を用いて後述する。
 メールボックスサーバ107は、メールゲートウェイ106が受信し、自網に収容される通信端末101宛のメールのデータを格納するコンピュータであり、いわゆる、POPサーバやIMAPサーバである。
 無線ネットワーク102は、基地局及び交換機を備え、無線通信回線を介して通信端末101と接続する。 通信端末101は、携帯電話機などの携帯通信端末で、MMS、インターネットメール等のメールを送受信する機能を有する。
 メール転送サーバ105A~105Cは、メールゲートウェイ106が受信したメールデータの転送先となる計算機である。メール転送サーバ105A~105Cは、宛先アドレスが収容されるメールサーバでも、宛先アドレスが収容されるメールサーバへの転送経路上のメール転送サーバでもよい。
 ネットワーク104は、インターネットなどの、複数のメール転送サーバ間でメールデータが交換されるネットワークである。
 図2は、第1の実施の形態のメールゲートウェイ106の構成を示すブロック図である。
 メールゲートウェイ106は、プロセッサ202、メモリ207、ネットワークインターフェース203及び不揮発性記憶装置208を備える。
 プロセッサ202は、メールゲートウェイプログラム204を実行する。プロセッサ202がメールゲートウェイプログラム204を実行することによって、メールゲートウェイ106が行う各種処理が実現される。
 ネットワークインターフェース203は、事業者ネットワーク103に接続され、所定のプロトコルに従って通信する。記憶装置208は、磁気ディスク装置、フラッシュメモリ等の不揮発性の記憶装置で、メール格納領域209及びログ格納領域210が設けられる。
 メールゲートウェイ106は、メールの転送先のドメイン(メール転送サーバ)毎に送信キューを備え、受信したメールを送信キューに格納する。送信キューに格納されたメールは、転送先のメール転送サーバ105A等へ転送される。また、メールゲートウェイ106は、受信したメールをメール管理・格納領域205とバックアップ用のメール格納領域209の両方に格納する。メール管理・格納領域205はメモリ207上にあり、不揮発性記憶装置208と比較し読み書きが高速であるため、通常メールゲートウェイ106はメール管理・格納領域205上のメール管理情報(詳細は図3で説明)の読み書きを行い各種処理を行う。ただし、メールゲートウェイ106が停止するとメモリ207上のデータは失われるため、メールゲートウェイ106が障害等で停止しても受信したメールを失わないようにバックアップ用のメール格納領域209にも受信したメールを記憶する。メール管理・格納領域205とメール格納領域209に格納されたメールは、転送先サーバへのメールの転送完了後に、消去される。通常、メールゲートウェイ106は、バックアップ用のメール格納領域209へはメール受信時におけるメールの格納と、転送完了後の削除の2回のアクセスしか行わない。
 図3Aから図3Cは、第1の実施の形態で用いられるメール管理方式を説明する図である。
 メールゲートウェイ106が受信したメールのデータは、図のメール本文として格納する。メール管理情報は、メールの転送処理をするためにメールゲートウェイ106がメールクライアントの通信やメール本文の解析から作成したデータであり、メール中継装置間でメールを転送する際に転送される情報であって、宛先、送信元、認証情報、メールの用途、メールの種別などを含む。メールゲートウェイ106は、メール管理情報を使って、メールの転送を処理する。
 第1の方式である完全分離方式は、図3Aに示すように、メールの本文をコピーすることによって、メールの宛先の数だけメール本文を作成し、メール宛先毎にメールデータ(メール管理情報、メール本文)を作成する。後述するように、宛先毎にメール本文を書き替えた後に転送する必要がある場合には完全分離方式が適用されるが、複数宛先のメールの本文が同一である場合にも完全分離方式を適用することができる。この完全分離方式では、メール本文を含むメールデータが宛先毎に作成されるので、メールデータを格納するために多くの記憶領域を必要とするが、宛先毎のメールの状態(転送完了、不達など)の管理や、障害発生時のメールの復旧処理が容易である利点がある。
 第2の方式であるメール本文共有方式は、図3Bに示すように、宛先毎に複数のメール管理データが作成されるが、メール本文は各メール管理データに共通である。各メール管理データはメール本文とリンクされることによって、その対応が管理される。すなわち、メール本文共有方式では、各メール管理データには一つの宛先が含まれ、メール本文は全メール管理データ(全宛先)に共通である。メール本文共有方式は、後述するように、複数の宛先のドメインが異なる場合に適用される。また、メール本文共有方式は、自網宛の複数の宛先にメールを転送する場合、宛先のメールボックス毎にメールデータを分割する場合に適用される。この場合、メール格納領域に格納されるデータは、宛先のメールボックス毎のメール管理情報と、一つのメール本文とによって構成される。
 メール本文共有方式では、複数のメール管理データによってメール本文が共有されるので、メールデータを格納するため必要な記憶領域を少なくすることができる。しかし、メール本文共有方式では、宛先毎のメールの状態の管理に参照カウンタを用いる等、メールの管理が複雑であり、障害発生時のメールの復旧処理が複雑である。
 第3の方式である複数宛先・メール本文共有方式は、図3Cに示すように、複数のメール管理データが作成され、メール本文は各メール管理データに共通であるが、各メール管理データには一つ又は複数の宛先が含まれる。各メール管理データはメール本文とリンクが張られることによって、その対応が管理される。複数宛先・メール本文共有方式は、後述するように、同一のメール転送サーバ105A等に収容される複数の宛先に転送されるメールである場合に適用される。しかし、複数宛先・メール本文共有方式は、自網内の宛先が複数ある場合には適用できない。これは、自網内ではメールゲートウェイ106から宛先のメールボックス宛にメールが転送されるので、宛先メールボックス毎にメールの状態(転送成功、不達など)を管理する必要があるからである。また、自網内では、メールボックスサーバ107、配信通知送信サーバ、DNS等の複数のサーバが連携して処理が行われているため、自網内の宛先毎にメールの状態が宛先毎に異なることからも、複数宛先・メール本文共有方式は適さない。
 複数宛先・メール本文共有方式は、宛先毎に作成されるメールデータにはメール本文を除いたメール管理情報が含まれ、メール本文は各メール管理データで共有され、さらに、メール管理情報が複数の宛先で共通化されるので、メールデータを格納するため必要な記憶領域を少なくすることができる。一方、複数宛先・メール本文共有方式では、メール管理情報に含まれる宛先の数が異なるので、メールの状態(転送成功、不達など)の管理が複雑になる。この場合、転送成功(又は、不達)をログに出力する、又はメール管理情報に記録すれば、メールの状態によって処理を分離することができる。
 さらに、複数宛先・メール本文共有方式では、処理が完全に異なる場合には適用できない。分離しているものには適用できない。
 前述したように、メールゲートウェイ106は、転送先ドメイン毎に送信キューを備える。このため、異なるドメインへ送信されるメールは状態が異なるので、メール管理情報を複数に分けることが望ましい。このため、本実施の形態では、前述した三つのメール管理方式を使い分ける。
 図4は、第1の実施の形態のメール転送処理のシーケンスの一例(メールデータが共有される場合)を示す。
 なお、メール転送サーバ105A、105Bは、宛先アドレスが収容されるメールサーバであるが、宛先アドレスが収容されるメールサーバへの転送経路上のメール転送サーバでもよい。
 通信端末(メールクライアント)101は、メールを送信する場合、メールゲートウェイとの間でコネクションを確立した後、メールゲートウェイ106にMAIL FROMメッセージ401を送信し、このメールの送信元のアドレスを伝える。このMAIL FROMメッセージ401のパラメータにはメールの送信元のアドレスが記述される。メールゲートウェイ106は、MAIL FROMメッセージを正しく受信すると、MAIL FROMメッセージを正しく受信したことを示す250 OKメッセージ402をメールクライアント101に送信する。
 次に、メールクライアント101は、メールゲートウェイ106にRCPT TOメッセージ403を送信し、このメールの一つの宛先アドレス(a1@aaaa.ne.jp)を伝える。このRCPT TOメッセージのパラメータには宛先アドレスが記述される。メールゲートウェイ106は、受信したRCPT TOメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをメール管理・格納領域205とメール格納領域209に格納する方式を一次的に判定する(404)。そして、宛先アドレスが正しいと判定された場合、250 OKメッセージ405をメールクライアント101に送信する。なお、このRCPTチェック404の詳細は、図5を用いて後述する。
 その後、このメールの宛先が複数である場合、メールクライアント101はメールゲートウェイ106にRCPT TOメッセージ406を送信し、このメールの別の宛先アドレス(b2@bbbb.ne.jp)を伝える。メールゲートウェイ106は、受信したRCPT TOメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをメール管理・格納領域205とメール格納領域209に格納する方式を一次的に判定する(407)。そして、宛先アドレスが正しいと判定された場合、250 OKメッセージ408をメールクライアント101に送信する。なお、このRCPTチェック404の詳細は、図5を用いて後述する。
 メールクライアント101は、全てのRCPT TOメッセージ(宛先アドレス)を送信すると、メール本文409を送信する。
 メールゲートウェイ106は、メール(送信元、宛先等の管理情報及び本文)を正しく受信すると、メール本文の管理方式を判定し(410)、判定された方式に基づいて、a1宛のメール管理情報、b2宛のメール管理情報、及び、メール本文をメール管理・格納領域205とメール格納領域209へ格納する(411、412、413)。その後、メールゲートウェイ106は、メールを正しく受信したことを示す250 OKメッセージ414をメールクライアント101に送信する。
 その後、メールゲートウェイ106は、宛先a1が収容されるメール転送サーバA(105A)にメールを転送する(415)。メール転送サーバA(105A)は、メールを正しく受信すると、メールを正しく受信したことを示す250 OKメッセージ416をメールゲートウェイ106に送信する。メールゲートウェイ106は、a1宛のメールの転送に成功すると、a1宛のメールの管理情報をメール管理・格納領域205とメール格納領域209から削除する(417)。
 また、メールゲートウェイ106は、宛先b2が収容されるメール転送サーバB(105B)にメールを転送する(418)。メール転送サーバB(105B)は、メールを受信すると、メールを正しく受信したことを示す250 OKメッセージ419をメールゲートウェイ106に送信する。その後、メールゲートウェイ106は、b2宛のメールの転送に成功すると、b2宛のメールの管理情報をメール管理・格納領域205とメール格納領域209から削除する(420)。
 さらに、メールゲートウェイ106は、全ての宛先へのメールの送信が完了すると、メールデータをメール管理・格納領域205とメール格納領域209から削除する(421)。
 なお、ステップ410における判定の結果によって、前述したシーケンスは若干異なる。例えば、ステップ410において、メールを完全分離方式で処理すると判定された場合(図6のステップ605)、ステップ417で、a1宛のメールの管理情報及びメール本文を削除し、ステップ420で、b2宛のメールの管理情報及びメール本文を削除すればよい。完全分離方式では、メール管理情報とメール本文とは1対1対応しているので、このようにすれば、ステップ421でメール本文を削除しなくてもよい。
 また、ステップ410において、メールを複数宛先・メール本文共有方式で処理すると判定された場合(図5のステップ513。なお、この場合、ドメインA.comの宛先が二つある)、ステップ415で、2通のメールを送信し(2件のRCPT TOを連続して送信し)、ステップ417で、a1宛メールの管理情報(2宛先が格納されている)を削除し、ステップ420で、b2宛メールの管理情報を削除し、ステップ421で共通のメール本文を削除すればよい。
 図5は、第1の実施の形態のRCPTチェック処理のフローチャートであり、図4のステップ404、407でメールゲートウェイ106(メールゲートウェイプログラム204)によって実行される。このRCPTチェック処理では、メールのヘッダ(特に、宛先アドレス)を解析して、メールの管理方式を判定する。
 まず、宛先メールアドレスを参照して、宛先が属するドメインに対応する送信キューを選択する(501)。
 その後、ステップ501で選択された送信キューが規制状態であるか否かを判定する(502)。その結果、選択された送信キューが規制状態である場合、この宛先へメールを送信することができないので、メールクライアント101にエラーメッセージを送信する(503)。一方、選択された送信キューが規制状態ではない場合、ステップ504に進む。
 ステップ504では、このメールの宛先の数(RCPT数)を計数し(504)、計数されたRCPT数が、一つのメール内で許容される最大値を超えているか否かを判定する(505)。その結果、計数されたRCPT数がメールの最大値を超えている場合、この宛先へメールを転送することができないので、メールクライアント101にエラーを応答する(506)。一方、計数されたRCPT数がメールの最大値に達していない場合、ステップ507に進む。
 ステップ507では、計数されたRCPT数が"1"であるか否かを判定する。その結果、計数されたRCPT数が"1"であれば、このメールは一つの宛先に転送すればよいので、この宛先のRCPT情報を記述したメール管理情報を作成し、このRCPTチェック処理を終了する(508)。一方、計数されたRCPT数が"1"でなければ、このメールは複数の宛先に転送する必要があるので、ステップ509に進む。
 ステップ509では、宛先メールアドレスが自網内に含まれるアドレスであるか否かを判定する。その結果、宛先メールアドレスが自網内に含まれるアドレスでなければ、ステップ511に進む。一方、宛先メールアドレスが自網内に含まれないアドレスであれば、メールボックスサーバ107からユーザ情報を取得し(510)、ステップ511に進む。このユーザ情報には、このユーザの端末受信できる添付ファイルの情報(特に、画像ファイルの形式及び大きさ)、メールの転送先のメールボックスの情報、及びこのメールボックスの処理をするサーバの構成の情報が含まれる。
 ステップ511では、この宛先と同一ドメインの宛先があるか否かを判定する。その結果、この宛先と同一ドメインの宛先がなければ、この宛先と同一のメール転送サーバ105A等に転送される宛先がなく、この宛先に対応するメール管理情報を作成する必要があるので、ステップ514に進む。一方、この宛先と同一ドメインの宛先があれば、RCPT数が網外最大値を超過しているか否かを判定する(512)。RCPT数の最大値とは、一つのメール、すなわち、一つのメール管理情報でまとめて送信できる宛先の最大数である。その結果、この宛先が網外であり、RCPT数が網外最大値を超過していれば、ステップ514に進む。一方、RCPT数が網外最大値を超過していなければ、メール本文が共通する形式でまとめられたメールデータを作成することができる。このため、この宛先のRCPT情報を同一ドメインの宛先のメール管理情報に追加する(513)。なお、ステップ512において、メールゲートウェイ106はシステム全体で網外最大値を一つだけ持つだけでなく、宛先ドメイン毎に個別に網外最大値を設定することが可能である。例えば、宛先が通信キャリアなど送信失敗の確率が非常に低いドメインであれば、メールゲートウェイ106が大きい網外最大値を選択する。一方、送信失敗の確率が高いドメインである場合は失敗する可能性が高いため、小さい網外最大値または同一ドメインで宛先をまとめないでステップ514へ進むという処理が可能である。
 この宛先と同一ドメインの宛先がなく、又は、RCPT数が網外最大値(又は、ドメイン毎の最大値)を超過している場合、この宛先のメールは別な送信キューに格納されるので、別なメール管理情報を作成する必要がある。このため、ステップ514では、新たなメール管理情報を作成し(514)、この宛先のRCPT情報を作成したメール管理情報に追加する(515)。なお、ステップ512でRCPT数が最大値を超過して、ステップ514で新たなメール管理情報を作成した場合、新たなメール管理情報でRCPT数が最大値を超過するまで、次以降のメールをまとめることができる。
 図6は、第1の実施の形態の管理方式判定処理(メール本文チェック処理)のフローチャートであり、図4のステップ410でメールゲートウェイ106(メールゲートウェイプログラム204)によって実行される。このメール本文チェック処理では、メール本文を解析して、メールの管理方式を判定する。すなわち、メール本文を解析することによって、既にRCPTチェック処理(図5)でメール本文を共有して管理すると判定されたメールを、メール本文が分離された形式に管理方式を変更する。
 まず、メール管理情報を参照して、メール本文を解析すべきメール管理情報があるか否かを判定する(601)。その結果、対象となるメール管理情報がなければ、このメール本文チェック処理を終了する。一方、対象となるメール管理情報があれば、ステップ602に進む。
 ステップ602では、この宛先のメール管理情報を解析する。具体的には、メール本文の形式、添付ファイルの有無、及び、ユーザ情報の有無をチェックする。なお、このユーザ情報は、図5のステップ510で取得された情報である。
 次に、ステップ602における判定結果に基づいて、このメールの宛先が自網内か、画像ファイルが添付されているか、及び、ユーザ情報の設定が異なるかを判定する(603)。その結果、このメールの宛先が自網内であり、画像ファイルが添付されており、かつ、ユーザ情報の設定が異なる場合、画像ファイルの変換が必要なので、ステップ605に進む)。一方、このメールが網外のメール転送サーバ宛である、画像ファイルが添付されていない、又は、ユーザ情報の設定が同じのいずれかの条件を満たす場合、ステップ604に進み、メールの形式がcHTML形式であるか否か、すなわち、このメールがデコメであるか否かを判定する。
 その結果、メールの形式がcHTML形式であれば、メール本文の変換が必要なので、ステップ605に進む。
 ステップ605では、宛先に従ってメール本文を分離して管理するために、メール本文をコピーし、メール管理情報を分離し、分離したメール管理情報をコピーされたメール本文に付加して宛先キューに格納する(605)。
 図6に示す管理方式判定処理では、メールの形式がcHTML形式であるか否かを判定したが、メールの形式がプレーンテキスト形式であるか否かを判定し、メールの形式がプレーンテキスト形式であれば、メール本文の変換は必要がないと判定することもできる。
 さらに、メール本文に絵文字が含まれているかを判定し、メール本文に絵文字が含まれていれば、メール本文の変換が必要であると判定することもできる。
 図7は、第1の実施の形態において、メール本文のデータが共通に管理されたメールの一部の宛先が未達となった場合のシーケンス図である。
 なお、メール転送サーバ105Aは、宛先アドレスが収容されるメールサーバであるが、宛先アドレスが収容されるメールサーバへの転送経路上のメール転送サーバでもよい。
 まず、メールゲートウェイ106は、メール転送サーバA(105A)に、MAIL FROMメッセージを送信し、このメールの送信元アドレスを伝える(701)。メール転送サーバA(105A)は、MAIL FROMメッセージを正しく受信すると、MAIL FROMメッセージを正しく受信したことを示す250 OKメッセージを、メールゲートウェイ106に送信する(702)。
 次に、メールゲートウェイ106は、メール転送サーバA(105A)に、RCPT TOメッセージを送信し、このメールの一つの宛先アドレス(a1@aaaa.ne.jp)を伝える(703)。メール転送サーバA(105A)は、RCPT TOメッセージに含まれる宛先アドレスがメール転送サーバA(105A)に収容されているか否かを判定する。この宛先アドレスがメール転送サーバA(105A)に収容されている場合、メール転送サーバA(105A)は、250 OKメッセージを、メールゲートウェイ106に送信する(704)。
 さらに、メールゲートウェイ106は、メール転送サーバA(105A)に、RCPT TOメッセージを送信し、このメールのもう一つの宛先アドレス(b2@aaaa.ne.jp)を伝える(705)。メール転送サーバA(105A)は、RCPT TOメッセージに含まれる宛先アドレスがメール転送サーバA(105A)に収容されているか否かを判定する。この宛先アドレスがメール転送サーバA(105A)に収容されていない場合、メール転送サーバA(105A)は、エラー応答をメールゲートウェイ106に送信する(706)。
 メールゲートウェイ106は、エラー応答を受信すると、未達通知を要求するために、メール本文をコピーして分離する(707)。メールゲートウェイ106は、メールクライアント101にアドレス b2@aaaa.ne.jp宛のメールの未達を通知する(709)。メールクライアント101は、メールゲートウェイ106から未達通知を正しく受信すると、メールゲートウェイ106に、未達通知の応答を送信する(710)。メールゲートウェイ106は、未達通知の応答を受信すると、アドレスb2@aaaa.ne.jp宛のメールが未達であること、すなわち未達通知の送信成功をメール管理情報及びログに出力する(711)。なお、ステップ707の代わりに、メールゲートウェイ106が705のメールの送信に失敗したことをメール管理・格納領域205とバックアップ用メール格納領域209、およびログへ書き込み、未達通知だけのメール管理領域を作成すれば、メール本文を分離しないでもステップ707~711の処理が実現可能である。
 メールゲートウェイ106は、ステップ707で分離されたメール本文はステップ709、710と並行して、アドレスa1@aaaa.ne.jp宛のメールとして、メール転送サーバA(105A)に送信する(713)。メール転送サーバA(105A)は、メール本文を正しく受信すると、メール本文を正しく受信したことを示す250 OKメッセージを、メールゲートウェイ106に送信する(714)。
 メールゲートウェイ106は、メール本文の送信に対する確認応答(250 OK)を受信すると、メール本文の送信成功をメール管理情報及びログに出力する(715)。以上の処理によって、メールゲートウェイ106は、a1@aaaa.ne.jp宛のメールの転送の成功と、b2@aaaa.ne.jp宛のメールの転送の失敗(未達)とが確定したので、メール管理情報及びメールデータ(本文)をメール管理・格納領域205とメール格納領域209から削除する(716)。
 なお、メールゲートウェイ106は、メールクライアント101への未達通知(709~710)と、メール本文の分離、転送(712~715)とを別スレッドで並行して処理しているが、メールクライアント101への未達通知(709~710)と、メール本文の分離、転送(713~716)とを順に処理すれば一つのスレッドで処理ができる。
 図7に示すシーケンスでは、転送の結果を逐次にメール管理情報及びログに出力することによって、メールの状態を単純化して管理することができる。例えば、メールの転送が成功した場合、ログへの出力によって配信処理を終了状態にすることができる。
 図8は、第1の実施の形態のメール送信・削除処理のフローチャートであり、図4のステップ515~521でメールゲートウェイ106(メールゲートウェイプログラム204)によって実行される。
 メールゲートウェイ106は、メール転送サーバ(又は、次のメール転送サーバ)にメール本文を送信し(801)、転送先のメール転送サーバからの返信を待つ。メールゲートウェイ106は、転送先のメール転送サーバからの返信を判定する(802)。転送先のメール転送サーバからの返信が送信成功であった場合、ステップ803に進み、メールデータを削除する処理を開始する。一方、転送先のメール転送サーバからの返信が送信失敗であった場合、ステップ808に進み、未達通知を要求する。
 ステップ803では、メールの送信に成功しているので、メールデータの参照数(参照カウンタ)から1を減算し、メール送信の成功をログに出力し、メール送信が成功したアドレスの管理情報に含まれる状態を送信済みに変更する。
 その後、メール管理情報に含まれる状態を参照して、全ての宛先へのメールの送信が完了したか否かを判定する(804)。なお、参照カウンタには、このメールのメール管理情報の数が設定される。
 判定の結果、一部のメールの送信が完了していなければ、他のメールを送信するために、このメール送信・削除処理を終了して、次のメールの送信・削除処理を開始する。一方、全てのメールの送信が完了していれば、メール本文にリンクされる未送信のメールのメール管理情報の数を示す参照カウンタをチェックする(805)。その結果、参照カウンタが0であれば(806でYES)、全ての宛先へのメールの送信が完了しているので、メール本文及びメール管理情報を削除し(807)、このメール送信・削除処理を終了する。一方、メールデータの参照数が0でなければ(806でNO)、一部の宛先へメールが未送信なので、未送信のメールを送信するために、このメール送信・削除処理を終了して、次のメールの送信・削除処理を開始する。
 一方、ステップ808では、メールの送信が失敗しているので、このメールの再送回数が最大再送回数を超過しているか否か、及び、有効期限切れであるか否かを判定する(808)。このメールの再送回数が最大再送回数を超過しておらず、かつ、有効期限切れでもない場合は、この宛先へメールを再送するために、このメール送信・削除処理を終了して、次のメール送信・削除処理を開始する。
 一方、最大再送回数が超過している場合、又は、有効期限切れである場合は、この宛先へメールを再送する必要がなく、この宛先へのメールの送信はエラーとして処理されるので、参照カウンタから1を減算し、メール送信の失敗をログに出力し、メール送信が失敗したアドレスのメール管理情報に含まれる状態を送信済みに変更する(809)。その後、未達通知を要求し(810)、ステップ804に進む。すなわち、メールクライアン101トが未達通知を受信した場合は、送信済み扱いとする。
 以上説明したように、本発明の第1実施形態によると、メール管理情報及びメール本文によってメールの管理方式を決定し、メールによって適切なメール管理をするので、メールの格納に必要な記憶容量を削減し、かつ、メールの中継処理を効率化することができる。
 また、まずメール管理情報によってメール管理方式を一次的に決定し、その後メール本文によってメール管理方式を最終決定するので、メールの管理方式を効率的に決定することができる。
 <実施形態2>
 次に、本発明の第2の実施の形態について説明する。第2の実施の形態は、前述した第1の実施の形態と異なり、メールゲートウェイ106がメール格納領域を備えず、データストアサーバ108がメール格納領域を備える。すなわち、メールゲートウェイ106が転送すべきメールのデータは、メールゲートウェイ106からデータストアサーバ108に転送され、メールゲートウェイ106によるメールの転送が完了した後に削除される。
 なお、第2の実施の形態において、前述した第1の実施の形態と同じ機能の構成及び同じ処理については、第1の実施の形態と同じ符号を付し、その説明は省略する。
 図9は、第2の実施の形態のメール転送システムの構成を示すブロック図である。
 第2の実施の形態のメール転送システムは、事業者ネットワーク103内に構成されており、メールゲートウェイ106、メールボックスサーバ107及びデータストアサーバ108を備える。メールゲートウェイ106とメールボックスサーバ107とデータストアサーバ108とは、事業者ネットワーク103によって接続されている。
 事業者ネットワーク103は、無線ネットワーク102を介して通信端末101に接続されており、ネットワーク104を介してメール転送サーバ105A~105Cに接続されている。
 メールゲートウェイ106は、通信端末101から送信されたメールデータを受信し、受信したメールデータをメール転送サーバ105A等に転送するコンピュータである。メールゲートウェイ106の記憶装置208には、ログ格納領域210が設けられる。なお、第1の実施の形態のメールゲートウェイ106に設けられたメール格納領域209は、データストアサーバ108に設けられる。
 データストアサーバ108は、通信端末101から送信され、各メール転送サーバ105A等に転送されるメールデータを一時的に格納するメール格納領域(図11の1009)を備える。
 図10は、第1の実施の形態のメールゲートウェイ106の構成を示すブロック図である。
 メールゲートウェイ106は、プロセッサ202、メモリ207、ネットワークインターフェース203及び不揮発性記憶装置208を備える。
 記憶装置208は、磁気ディスク装置、フラッシュメモリ等の不揮発性の記憶装置で、管理情報格納領域211及びログ格納領域210が設けられる。メール管理・格納領域205には、受信したメール(転送すべきメール)のメール本文およびメール管理情報が格納される。メール管理・格納領域205に格納されたメール管理情報は、転送先サーバへのメールの転送完了後に、消去される。
 第2の実施の形態は、第1の実施の形態と異なり、不揮発性記憶装置208にバックアップ用のメール格納領域は保持せず、その代わりデータストアサーバ108へバックアップを格納する。
 図11は、第2の実施の形態のデータストアサーバ108の構成を示すブロック図である。
 データストアサーバ108は、プロセッサ1102、メモリ1107、ネットワークインターフェース1103及び記憶装置1108を備える。
 プロセッサ1102は、データストアサーバプログラム1104に格納されたプログラムを実行する。プロセッサ1102がデータストアサーバプログラム1104を実行することによって、データストアサーバ108が行う各種処理を実現される。
 ネットワークインターフェース1103は、事業者ネットワーク103に接続され、所定のプロトコルに従ってメールゲートウェイ106と通信する。不揮発性記憶装置1108は、磁気ディスク装置、フラッシュメモリ等の不揮発性の記憶装置である。データストアサーバプログラム1104は、メールゲートウェイ106のメール管理・格納領域205のバックアップ用の領域である、バックアップ用メール格納領域1107、バックアップ用メール格納領域1109を管理する。本実施例では、データストアサーバプログラム1104はバックアップ用メール格納領域1107とバックアップ用メール格納領域1109を保持するが、どちらか一方に保持するだけでも本発明は実施可能である。本実施の形態では、データストアサーバがキャッシュとしてバックアップ用メール格納領域1107にデータを保持し、主記憶装置としてバックアップ用メール格納領域1109にデータを保持する。
 なお、バックアップ用メール格納領域1107とバックアップ用メール格納領域1109とは、本実施の形態では、メールを格納するだけだが、データストアサーバはメール以外のデータを格納することができ、格納するデータを一律バイナリデータとして扱うことが可能である。
 図12は、第2の実施の形態のメール転送処理の一例(メールデータが共有される場合)を示すシーケンス図である。
 通信端末(メールクライアント)101は、メールを送信する場合、メールゲートウェイとの間でコネクションを確立した後、メールゲートウェイ106にMAIL FROMメッセージ1201を送信し、このメールの送信元のアドレスを伝える。このMAIL FROMメッセージ1201のパラメータにはメールの送信元のアドレスが記述される。メールゲートウェイ106は、MAIL FROMメッセージを正しく受信すると、MAIL FROMメッセージを正しく受信したことを示す250 OKメッセージ1202をメールクライアント101に送信する。
 次に、メールクライアント101は、メールゲートウェイ106にRCPT TOメッセージ1203を送信し、このメールの一つの宛先アドレス(a1@aaaa.ne.jp)を伝える。このRCPT TOメッセージのパラメータには宛先アドレスが記述される。メールゲートウェイ106は、受信したRCPT TOメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをデータストアサーバ108(メール格納領域1109)に格納する方式を一次的に判定する(1204)。そして、宛先アドレスが正しいと判定された場合、250 OKメッセージ1205をメールクライアント101に送信する。なお、このRCPTチェック1204には、前述した第1の実施の形態(図5)の方法を用いることができる。
 その後、このメールに複数の宛先がある場合、メールクライアント101はメールゲートウェイ106にRCPT TOメッセージ1206を送信し、このメールの別の宛先アドレス(b2@bbbb.ne.jp)を伝える。メールゲートウェイ106は、受信したRCPT TOメッセージに含まれる宛先アドレスが正しいか否かを判定し、このメールをデータストアサーバ108に格納する方式を一次的に判定する(1207)。そして、宛先アドレスが正しいと判定された場合、250 OKメッセージ1208をメールクライアント101に送信する。なお、このRCPTチェック1207には、前述した第1の実施の形態(図5)の方法を用いることができる。
 メールクライアント101は、全てのRCPT TOメッセージ(宛先アドレス)を送信すると、メール本文1209を送信する。
 メールゲートウェイ106は、メール(送信元、宛先等の管理情報及び本文)を正しく受信すると、メール管理・格納領域205へ格納し、メール本文の管理方式を判定し(1210)、判定された方式に基づいて、データストアサーバ108へ格納するパケットを作成し(1211)、作成された格納パケットをデータストアサーバ108に転送する(1212)。
 データストアサーバ108は、受信した格納パケットをメール格納領域1107とメール格納領域1109に格納し(1213)、受信したパケットの格納が完了したことを示す確認応答をメールゲートウェイ106に送信する(1214)。
 メールゲートウェイ106は、データストアサーバ108から確認応答を受信すると、メールを正しく受信したことを示す250 OKメッセージ1215をメールクライアント101に送信する(1215)。
 その後、メールゲートウェイ106は、宛先a1が収容されるメール転送サーバA(105A)にメールを送信する(1216)。メール転送サーバA(105A)は、メールを正しく受信すると、メールを正しく受信したことを示す250 OKメッセージ1217をメールゲートウェイ106に送信する(1217)。メールゲートウェイ106は、a1宛のメールの転送に成功すると、a1宛のメールを削除する要求をデータストアサーバ108に送信する(1218)。データストアサーバ108は、a1宛のメールを削除する要求を受信すると、a1宛のメールをメール格納領域1107とメール格納領域1109から削除する。メールゲートウェイ106は、データストアサーバから削除の成功応答1219を受信すると、a1宛のメールの管理情報をメール管理・格納領域205から削除する(1220)。
 また、メールゲートウェイ106は、宛先b2が収容されるメール転送サーバB(105B)にメールを送信する(1221)。メール転送サーバB(105B)は、メールを正しく受信すると、メールを正しく受信したことを示す250 OKメッセージ1222をメールゲートウェイ106に送信する(1222)。メールゲートウェイ106は、b2宛のメールの転送に成功すると、b2宛のメールを削除する要求をデータストアサーバ108に送信する(1223)。データストアサーバ108は、b2宛のメールを削除する要求を受信すると、メールゲートウェイ106は、b2宛のメールをメール格納領域1107とメール格納領域1109から削除し、データストアサーバから削除の成功応答1224を送信する。メールゲートウェイ106は、成功応答1224を受信すると、b2宛のメールの管理情報をメール管理・格納領域205から削除し(1225)、a1宛のメールとb2宛のメールとで共通に管理されたメール本文のデータをキューから削除する(1226)。
 図13は、第2の実施の形態のデータストアサーバ108へ送信されるパケットの一例を説明する図である。
 データストアサーバ108へ送信されるパケットは、パケット種別1310、キー数1300、複数のキー1301、1303、複数の拡張キーデータ1302、1304、及び、登録データ1309を含む。
 パケット種別1310は、このパケットを受信したデータストアサーバ108によって実行される処理(例えば、登録、削除など)を示す。
 キー数1300は、このパケットに含まれるキーの数を表す。なお、図13には二つのキーを示したが、キーの数は一つでも任意の複数でもよい。キー1301、1303は、キーに対応するメール管理情報を一意に識別するための識別子である。拡張キーデータ1302、1304は、キーに対応するメール管理情報と基本のメール管理情報との差分のデータを格納する。なお、基本のメール管理情報は、最初のメール管理情報を用いるとよい。登録データ1309は、メール管理情報及びメール本文を含む。
 第2の実施の形態においても、メールゲートウェイ106は、メール管理方法1~3のいずれかによってメールを管理する。
 図14は、第2の実施の形態のメールゲートウェイ106で実行されるメール管理を説明する図であり、完全分離方式(図3A)の場合を示す。
 まず、宛先毎にメールデータ(メール管理情報、メール本文)が作成される。その後、元のメール1400及びコピーによって新たに作成されたメール1410の各々にキー1301、1303が割り当てられる。
 そして、各メールのメール管理情報と最初のメールのメール管理情報とを比較し、その差分を拡張キーデータ2(1304)に格納する。なお、拡張キーデータ1(1302)に対応するメール管理情報には差分が生じないので、拡張キーデータ1(1302)には差分がないことを示す情報を格納する。
 図15は、第2の実施の形態のメールゲートウェイ106によって実行されるパケット構成処理のフローチャートである。
 まず、2番目のメールのメール管理情報を選択し(1501)、選択されたメール管理情報に対応するキーを作成する(1502)。
 そして、選択されたメール管理情報と、最初のメール管理情報との差分を抽出し(1503)、対応するキーの拡張キーデータに抽出された差分を格納して、格納キーデータを作成する(1504)。
 その後、次のメール管理情報があるか否かを判定する(1505)。次のメール管理情報があれば、ステップ1502に戻り、次のメールを処理する。一方、次のメール管理情報がなければ、全てのメール管理情報について処理が完了したので、作成された拡張キーデータを連結して、データストアサーバ108へ送信されるパケットを構成する(1506)。
 図16は、第2の実施の形態のデータストアサーバ108におけるデータの格納を説明する図である。
 まず、キー毎の格納領域1621、1622をメール格納領域1109に確保し、確保された格納領域に登録データ1309を格納する。その後の領域に各キーに対応した拡張キーデータ1302、1304を格納する。
 以上説明したデータストアサーバ108は、宛先毎にメールデータを分離して格納する。これは、一般に、データストアサーバ108は、記憶容量が十分にあり、高速に処理することができるためであり、また、データストアサーバ108は、メールゲートウェイ106から送信されたデータをメールと認識しておらず、メール、テキスト、画像でも同様に扱うだけである。しかし、データストアサーバ108がメールデータを格納する場合、宛先毎にメールデータを再構築して、共通化できる部分をまとめることもできる。
 図17は、第2の実施の形態のデータストアサーバ108によって実行されるパケット構成処理のフローチャートである。
 データストアサーバ108は、メールゲートウェイ106からパケットを受信すると、受信したパケットのパケット種別1310を判定する。そして、受信したパケットのパケット種別1310が「登録」であれば、格納パケットを受信したと判定し、パケット格納処理を開始する(1701)。
 まず、受信した格納パケットから、該パケットに含まれるキーの数を取得して、ループの回数を判定する(1702)。次に、受信したパケットから、キー及びキー拡張データを取得し(1703、1704)、次のキーがなくなるまで(取得したキーの数がステップ1702で取得したキー数と等しくなるまで)、ステップ1703~1704の処理を繰り返す(1705)。その後、受信した格納パケットから登録データ(メール管理情報、メール本文)を取得する(1706)。
 その後、取得したキーのうち最初のキーを一つ選択し(1707)、選択されたキーに対応するデータ格納領域を確保する(1708)。そして、ステップ1706で取得した登録データと拡張キーデータとを確保されたデータ格納領域に格納する(1709)。そして、全てのキーの処理が完了するまでステップ1707~1709の処理を繰り返す。
 以上説明したように、本発明の第2実施形態によると、メールゲートウェイ106とは別にデータストアサーバ108を設けた場合であっても、適切なメール管理方式を選択し、メールの格納に必要な記憶容量を削減し、メールの中継処理を効率化することができる。
 また、メールゲートウェイ106は、メールデータ(メール本文、メール管理情報)と各メール管理情報を全て送信する代わりに、基本となるメールデータの各メール管理情報の差分をデータストアサーバ108に送信するので、メールゲートウェイ106からデータストアサーバ108に送信されるデータ量の増加を抑制することができる。
 さらに、データストアサーバ108は、メールゲートウェイ106から受信したメールデータを再構築することなく、メール格納領域1109に格納するので、データストアサーバ108は、メールにおける処理を高速化することができる。
 以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。

Claims (14)

  1.  端末から送信された電子メールを受信するメールゲートウェイと、
     前記端末と前記メールゲートウェイとを接続するネットワークと、を備えるメール転送システムであって、
     前記メール転送システムは、受信した前記メールが一時的に格納されるデータ格納領域を備え、
     前記メールゲートウェイは、
     複数のメール転送サーバと接続されており、
     転送されるメールが格納されるキューを、前記メールの転送先のメール転送サーバ毎に有し、
     前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれる場合、当該メール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報を作成し、前記作成された第1のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納し、
     前記受信したメールの宛先に同一の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記各宛先毎に、当該宛先を含むメール管理情報を作成し、前記作成された複数のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とするメール転送システム。
  2.  前記メールゲートウェイは、
     前記受信したメールの宛先に第1の前記メール転送サーバに収容される複数の宛先が含まれ、かつ、第2の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記第1のメール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報、及び、前記第2のメール転送サーバに収容される一つの宛先を含む一つの第2のメール管理情報を作成し、
     前記作成された第1及び第2のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とする請求項1に記載のメール転送システム。
  3.  前記メールゲートウェイは、
     前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれ、かつ、該メール転送サーバに収容される宛先の数がその最大値を超えていない場合、該メール転送サーバに収容される宛先が格納されたメール管理情報に前記宛先を追加し、
     前記受信したメールの宛先に各前記メール転送サーバに収容される一つの宛先が含まれ、又は、該メール転送サーバに収容される宛先の数がその最大値を超えている場合、該宛先に対応するメール管理情報を新たに作成することを特徴とする請求項1に記載のメール転送システム。
  4.  前記メールゲートウェイは、
     前記受信したメールを前記メール転送サーバに転送する前に、前記受信したメールの本文のデータを修正する必要があるか否かを判定し、
     前記受信したメールの本文のデータを修正する必要があると判定された場合、前記メール管理情報毎に該メールの本文を複製し、前記各メール管理情報と前記複製されたメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とする請求項1に記載のメール転送システム。
  5.  前記メールゲートウェイは、
     前記受信したメールが網内のメール転送サーバ宛であり、画像ファイルが添付されており、かつ、宛先毎の添付ファイルに関する設定が異なる場合、該メールの本文のデータを修正する必要があると判定し、
     さらに、前記受信したメールがcHTML形式のメールである場合も、該電子メールの本文のデータを修正する必要があると判定することを特徴とする請求項4に記載のメール転送システム。
  6.  前記メール転送システムは、前記データ格納領域を備えるデータストアサーバを備え、
     前記メールゲートウェイは、
     前記受信したメールを、前記メールの本文及びメール管理情報を含む基本部分と、前記メールの宛先毎の前記メール管理情報の差分とに分けたメールデータを作成し、
     前記作成されたメールデータを前記データストアサーバに送信することを特徴とする請求項1に記載のメール転送システム。
  7.  前記データストアサーバは、前記メールゲートウェイから前記メールデータを受信した場合、前記受信したメールデータを、該メールの宛先毎に再構築することなく、前記データ格納領域に格納することを特徴とする請求項6に記載のメール転送システム。
  8.  端末とネットワークを介して接続され、前記端末から送信された電子メールを受信するメールゲートウェイであって、
     複数のメール転送サーバ、及び、受信した前記メールが一時的に格納されるデータ格納領域と接続されており、
     転送されるメールが格納されるキューを、前記メールの転送先のメール転送サーバ毎に備え、
     前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれる場合、当該メール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報を作成し、前記作成された第1のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納し、
     前記受信したメールの宛先に同一の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記各宛先毎に、当該宛先を含むメール管理情報を作成し、前記作成された複数のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とするメールゲートウェイ。
  9.  前記受信したメールの宛先に第1の前記メール転送サーバに収容される複数の宛先が含まれ、かつ、第2の前記メール転送サーバに収容される一つの宛先が含まれる場合、前記第1のメール転送サーバに収容される複数の宛先を含む一つの第1のメール管理情報、及び、前記第2のメール転送サーバに収容される一つの宛先を含む一つの第2のメール管理情報を作成し、
     前記作成された第1及び第2のメール管理情報とメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とする請求項8に記載のメールゲートウェイ。
  10.  前記受信したメールの宛先に同一の前記メール転送サーバに収容される複数の宛先が含まれ、かつ、該メール転送サーバに収容される宛先の数がその最大値を超えていない場合、該メール転送サーバに収容される宛先が格納されたメール管理情報に前記宛先を追加し、
     前記受信したメールの宛先に各前記メール転送サーバに収容される一つの宛先が含まれ、又は、該メール転送サーバに収容される宛先の数がその最大値を超えている場合、該宛先に対応するメール管理情報を新たに作成することを特徴とする請求項8に記載のメールゲートウェイ。
  11.  前記受信したメールを前記メール転送サーバに転送する前に、前記受信したメールの本文のデータを修正する必要があるか否かを判定し、
     前記受信したメールの本文のデータを修正する必要があると判定された場合、前記メール管理情報毎に該メールの本文を複製し、前記各メール管理情報と前記複製されたメールの本文とをリンクさせたメールデータを前記データ格納領域に格納することを特徴とする請求項8に記載のメールゲートウェイ。
  12.  前記受信したメールが網内のメール転送サーバ宛であり、画像ファイルが添付されており、かつ、宛先毎の添付ファイルに関する設定が異なる場合、該メールの本文のデータを修正する必要があると判定し、
     さらに、前記受信したメールがcHTML形式のメールである場合も、該電子メールの本文のデータを修正する必要があると判定することを特徴とする請求項11に記載のメールゲートウェイ。
  13.  前記メールゲートウェイは、
     前記データ格納領域を備えるデータストアサーバに接続されており
     前記受信したメールを、前記メールの本文及びメール管理情報を含む基本部分と、前記メールの宛先毎の前記メール管理情報の差分とに分けたメールデータを作成し、
     前記作成されたメールデータを前記データストアサーバに送信することを特徴とする請求項8に記載のメールゲートウェイ。
  14.  端末から送信されメールゲートウェイが受信した電子メールを一時的に格納するデータ格納領域を備えるデータストアサーバであって、
     前記メールゲートウェイは、受信した前記メールを複数の宛先に転送する場合、前記受信したメールを、前記メールの本文及びメール管理情報を含む基本部分と、前記メールの宛先毎の前記メール管理情報の差分とに分けたメールデータを作成し、前記作成されたメールデータを前記データストアサーバに送信し、
     前記データストアサーバは、前記メールゲートウェイから前記メールデータを受信した場合、前記受信したメールデータを、該メールの宛先毎に再構築することなく、前記データ格納領域に格納することを特徴とするデータストアサーバ。
PCT/JP2011/063828 2010-08-31 2011-06-16 メール転送システム、メールゲートウェイ及びデータストアサーバ WO2012029374A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201180031505.9A CN102986174B (zh) 2010-08-31 2011-06-16 邮件传输系统以及邮件网关
US13/806,330 US20130191484A1 (en) 2010-08-31 2011-06-16 Mail transfer system, mail gateway and data store server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-193122 2010-08-31
JP2010193122A JP5607461B2 (ja) 2010-08-31 2010-08-31 システム及びゲートウェイ

Publications (1)

Publication Number Publication Date
WO2012029374A1 true WO2012029374A1 (ja) 2012-03-08

Family

ID=45772486

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/063828 WO2012029374A1 (ja) 2010-08-31 2011-06-16 メール転送システム、メールゲートウェイ及びデータストアサーバ

Country Status (4)

Country Link
US (1) US20130191484A1 (ja)
JP (1) JP5607461B2 (ja)
CN (1) CN102986174B (ja)
WO (1) WO2012029374A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014099778A (ja) * 2012-11-15 2014-05-29 Hitachi Ltd メール通信システム
JP5735566B2 (ja) * 2013-03-12 2015-06-17 日本電信電話株式会社 メッセージ配信システムおよびメッセージ配信方法
WO2015045177A1 (ja) * 2013-09-30 2015-04-02 楽天株式会社 電子メール生成装置、電子メール生成方法、電子メール生成装置用プログラム、および、記憶媒体
CN104753630A (zh) * 2013-12-27 2015-07-01 中兴通讯股份有限公司 一种数据传输方法和系统
JP6043817B2 (ja) * 2015-01-16 2016-12-14 三菱電機インフォメーションシステムズ株式会社 メール配信装置及びメール配信プログラム
WO2017099176A1 (ja) * 2015-12-10 2017-06-15 Necフィールディング株式会社 メールサーバ装置、メール管理方法、及びメール管理プログラム
CN108965095B (zh) * 2017-05-17 2021-03-30 北京京东尚科信息技术有限公司 邮件解析方法、邮件解析系统、电子设备和可读存储介质
US10798039B2 (en) * 2018-07-31 2020-10-06 Salesforce.Com, Inc. Intelligent real-time SMTP routing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07264234A (ja) * 1994-03-17 1995-10-13 Hitachi Ltd 電子メール管理方法
JPH09331349A (ja) * 1996-06-10 1997-12-22 Nec Corp 電子メール配信装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04196941A (ja) * 1990-11-28 1992-07-16 Nec Corp 同報メールの管理システム
US20040054731A1 (en) * 2002-09-12 2004-03-18 International Business Machines Corporation Apparatus, system and method of delivering e-mail messages
US7409428B1 (en) * 2003-04-22 2008-08-05 Cooper Technologies Company Systems and methods for messaging to multiple gateways
US20050111035A1 (en) * 2003-11-20 2005-05-26 Kouichi Takamine Printing apparatus, printing system, printing method, and program therefor
CN100581142C (zh) * 2005-11-04 2010-01-13 中国移动通信集团公司 电子邮件附件的处理方法
US20070255792A1 (en) * 2006-04-26 2007-11-01 Momail, Ab Method and apparatus for an email gateway
CN101079879A (zh) * 2006-12-19 2007-11-28 腾讯科技(深圳)有限公司 一种电子邮件传送系统及方法
US8392513B2 (en) * 2009-01-05 2013-03-05 International Business Machines Corporation Reducing email size by using a local archive of email components

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07264234A (ja) * 1994-03-17 1995-10-13 Hitachi Ltd 電子メール管理方法
JPH09331349A (ja) * 1996-06-10 1997-12-22 Nec Corp 電子メール配信装置

Also Published As

Publication number Publication date
CN102986174A (zh) 2013-03-20
US20130191484A1 (en) 2013-07-25
JP2012054623A (ja) 2012-03-15
JP5607461B2 (ja) 2014-10-15
CN102986174B (zh) 2015-08-19

Similar Documents

Publication Publication Date Title
JP5607461B2 (ja) システム及びゲートウェイ
US7930358B2 (en) Method and apparatus for efficiently managing “messages sent” file and resending of messages from mobile wireless communication device
US8296369B2 (en) Email server with proxy caching of unique identifiers
JP5246332B2 (ja) 拡張されたメッセージングプラットフォーム
US7631045B2 (en) Content router asynchronous exchange
US7849199B2 (en) Content router
CA2589522C (en) Method and apparatus for efficiently managing "messages sent" file and resending of messages from mobile wireless communication device
US8307036B2 (en) Email server with enhanced least recently used (LRU) cache
US20070038703A1 (en) Content router gateway
US20070014307A1 (en) Content router forwarding
US20070014277A1 (en) Content router repository
JP5537181B2 (ja) メッセージシステム
US20070073815A1 (en) Email server with proxy caching of message identifiers and related methods
JP5722244B2 (ja) メールゲートウェイ、メール配信方法およびプログラム
US20050044109A1 (en) Mail system, mail processing method, computer-readable recording medium that records mail processing program, electronic mail storage device, electronic mail storage method and computer-readable recording medium that records electronic mail storage program
WO2007040503A1 (en) Email server with least recently used cache
US20080263161A1 (en) Terminal and method for distinguishing between email recipients using specific identifier
JP7380711B2 (ja) 情報処理装置、電子メールの制御方法、及びプログラム
CA2621649C (en) Email server with proxy caching of unique identifiers
CA2622316C (en) Email server with proxy caching of message identifiers and related methods
JP2009093314A (ja) 電子メール送受信システム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180031505.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11821392

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13806330

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 11821392

Country of ref document: EP

Kind code of ref document: A1