1. Field of the Invention
The invention relates generally to communication and, more particularly, to systems and methods of automatic retransmission of electronic mail.
2. Description of Related Art
If a user has sent an e-mail requiring a reply, the user may open a mailbox to determine whether or not a reply e-mail has been received. If after a certain period a return e-mail has not been received the user may send an e-mail asking for a reply. If a reply is still not received, the user may resend an e-mail asking for a reply.
With such manual management, in the case of sending a large number of e-mails requiring a reply or in the case where the deadline for reply varies among e-mails, the sender may miss the deadline for reply. In addition, such manual management wastes time.
To address this problem, there is a server for operating with a plurality of workstations. The server comprises instructions, executable by a processor, to: receive an e-mail from a workstation, the e-mail having an e-mail header containing a respective interval set at the workstation, and a respective retransmit maximum count set at the workstation; remove the respective interval and respective retransmit maximum count from the e-mail header; send the e-mail; periodically query a database to determine if the following condition is true: ((the respective interval has elapsed since the e mail has been sent) AND (a reply has not been received to the e-mail)); conditionally resend the e-mail depending on a result of the querying; compare the respective retransmit maximum count to a number times the e mail has been sent; and conditionally send an e mail to the workstation, depending on a result of the comparing.
References are made to the following text taken in connection with the accompanying drawings, in which:
The accompanying drawings which are incorporated in and which constitute a part of this specification, illustrate embodiments of the invention and, together with the description, explain the principles of the invention, and additional advantages thereof. Certain drawings are not necessarily to scale, and certain features may be shown larger than relative actual size to facilitate a more clear description of those features. Throughout the drawings, corresponding elements are labeled with corresponding reference numbers.
System 1 also includes mail user agent a-1 (MUA-a-1) 120 (mail client) that effects a process 122, carried out by a second set of instructions executed by a second general purpose electronic processor; mail user agent a-2 (MUA-a-2) 170 (another mail client) that effects a process 172, carried out by a third set of instructions executed by a third general purpose electronic processor; mail transfer agent a-2 (MTA-a2) 190 (mail server) that effects a process 195, carried out by a fourth set of instructions executed by a fourth general purpose electronic processor; and database 210 having a data structure 215.
System 1 transfers an e-mail from person 105, Mr. A, a sender in Domain A, to person 305, Ms. B, a destination in Domain B.
The automatic retransmit function is realized only by processors, instructions, and data on the sender side, in domain A. For example, the e-mail automatic retransmit function can be used by loading e-mail software equipped with this function to a system of one's own company.
A conventional MUA and MTA may be employed on the destination side, in domain B.
In
(1): The automatic retransmit function is selected in creating an e-mail and sending it from workstation 110.
Workstation 110 includes a processor executing mail user agent 120, a mouse 114 upstream in a signal path from mail user agent 120, a keyboard 112 upstream in a signal path from mail user agent 120, and a display 116 downstream in a signal path from mail user agent 120. Person 105 manipulates keyboard 112 and mouse 114 to construct an e-mail message.
(2): An MTA-a1180 writes the e-mail to a database 210 using Message-ID of the e-mail as a key.
(3): The e-mail is transferred to a destination, in domain B.
(4): The e-mail is delivered to a mailbox 325 on the destination side.
In
(5): The MTA-a1 reads all of the e-mails from the database 210 once a day, and checks the retransmit date of each e-mail.
(6): An e-mail, of which the retransmit date is today, is transferred to a destination.
(7): The e-mail is delivered to the mailbox on the destination side.
In
(8): The recipient receives an e-mail from a mailbox.
(9): The recipient replies to the e-mail.
(10): The return mail is transferred to a return address.
(11): The MTA-a2 on the return mail destination side deletes the e-mail from the database using Message-ID in a reference header of the received e-mail as a key.
(12): The e-mail is delivered to a mailbox on the return mail destination side.
(13): The sender receives the return mail.
MUA-a-1120 sends e-mail 201 (
MTA-a1180 receives the e-mail 201 sent in step 5 (step 6), and MTA-a1180 checks whether or not the X-EMAR-Response-Wait-Period header is present in the e-mail. (step 7). If the X-EMAR-Response-Wait-Period header is not present, the e-mail is transferred to a destination. (step 8). If the X-EMAR-Response-Wait-Period header is present, the e-mail is written to a database as shown in step 9:
A Message-ID header in the e-mail is used as a key.
An initial value of 0 is set to the retransmit count field.
The X-EMAR-Response-Wait-Period header is extracted from e-mail data and set to the retransmit interval field.
Likewise, the X-EMAR-Max-Retry-Count header is extracted and set to the maximum retransmit count field.
The mail data including neither the X-EMAR-Response-Wait-Period header nor the X-EMAR-Max-Retry-Count header is set to the mail data field. In other words, MTA-a1180 deletes or removes the X-EMAR-Response-Wait-Period header and the X-EMAR-Max-Retry-Count header.
MTA-a1180 then sends e-mail 202 (
Process 185 of MTA-a1 accesses data structure 215 in database 210, to determine the next retransmit date depending on date header (header including the transmission date) in mail data field 240, X-EMAR-Response-Wait-Period header retransmit interval field 230, and retransmit count in retransmit count field 225.
The next retransmit date is determined by adding a value of X-EMAR-Response-Wait-Period×(retransmit count+1) to a value of the Date header. (step 3).
Process 185 compares the retransmit date to the machine date set in the MTA-a1180 (today). If the retransmit date is on or after today, process 185 causes the e-mail to be sent again. (steps 4 and 5).
The e-mail to be sent again corresponds to data read from mail data field 240 (from which X-EMAR-Response-Wait-Period and X-EMAR-Max-Retry-Count are deleted).
Process 185 adds 1 to a value of the retransmit count field 225 in the data read from the DB. (step 6). Process 185 determines whether or not the retransmit count reaches the value stored in the maximum retransmit count field 235. (step 7). If the retransmit count reaches the maximum retransmit count, process 185 deletes the data read in step 2 from database 210, and automatically sends an e-mail from MTA-a1 to MUA-a-1, the mail user agent of the sender (person 105) to notify to that effect. (steps 8 and 9). If the retransmit count does not reach the maximum retransmit count, process 185 updates the data read in step 2 with the value of retransmit count added with 1 in step 6. (step 10). In other words, step 10 includes writing into a row of data structure 215.
Process 185 performs the processing of
Person 305, a recipient of the e-mail, replies to an automatic-retransmit-function-equipped e-mail. (step 1).
The return mail is sent to MTA-b1380 at an address set in the configuration of the MUA-b 320 and transferred to the MTA-a2190 on the return mail destination side. (steps 2 and 3).
Process 195 deletes a corresponding row from data structure 215, using the first data in the Reference header of the return mail (storing Message-ID generated first) as a key. If no data is matched, processing is not performed. (step 4).
Process 195 causes the return mail to be delivered to a mailbox on the return mail destination side. (step 5)
Thus, a sender who is about to send an e-mail requiring a reply, selects an automatic retransmit function at the time of creating the e-mail, sets the “retransmit interval (days)” and the “maximum retransmit count”, and then sends the e-mail. The retransmit interval (days) and the maximum retransmit count are set in certain mail headers and sent together with the e-mail.
If the mail server in the source domain receives the automatic-retransmit-function-equipped e-mail, the server writes the e-mail to the automatic retransmit function database and then forwards the e-mail to the destination like a general e-mail.
The mail server checks all of the e-mails in the database every day. On the retransmit day (calculated on the basis of retransmit interval), the server sends the e-mail again. The server deletes an e-mail that reached the maximum retransmit count from the database and sends an e-mail to notify the sender to that effect.
If an e-mail recipient sends a reply, the return mail is forwarded to the mail server on the sender side. If the return mail is equipped with an automatic retransmit function, the mail server deletes the e-mail from the database. The return mail is sent as in general processing.
In summary, person 105 manipulates mouse 114 and/or keyboard 112 to cause MUA-a-1120 to generate an e-mail with an e-mail header containing a retransmit interval chosen by person 105, and a retransmit maximum count chosen by person 105. MUA-a-1120 sends the e-mail to MTA-a1180. MTA-a1180 removes the retransmit interval and retransmit maximum count from the e-mail header, and sends the resultant e-mail to MTA-b2390. Periodically, MTA-a1180 queries database 210 to determine if there is an e-mail of which retransmit date is on or after today, and resends it if it exists. Thus, MTA-a1180 effectively queries database 210 to determine if a reply has been received to the e-mail from MUA-a-1120, and resends the e-mail if a reply has not been received.
MTA-a1180 is common to MUA-a-1120, of person 105, and MUA-a-2170, of person 155. Thus, person 155 manipulates mouse 164 and/or keyboard 162 to cause MUA-a-2170 to generate an e-mail with an e-mail header containing a retransmit interval chosen by person 155, and a retransmit maximum count chosen by person 155. MUA-a-2170 sends the e-mail to MTA-a1180. MTA-a1180 removes the retransmit interval and retransmit maximum count from the e-mail header, and sends the resultant e-mail to MTA-b-2390. Periodically, MTA-a1180 queries database 210 to determine if there is an e-mail of which retransmit date is on or after today, and resends it if it exists. Thus, MTA-a1180 effectively queries database 210 to determine if a reply has been received to the e-mail from MUA-a-2170, and resends the e-mail if a reply has not been received.
In other words, the querying and resending for the e-mail from person 105 are effected by a processor executing a set of instructions, and the querying and resending for the e-mail from person 155 are effected by the same processor executing the same act of instructions.
Benefits, other advantages, and solutions to problems have been described above with regard to specific examples. The benefits, advantages, solutions to problems, and any element(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not critical, required, or essential feature or element of any of the claims.
Additional advantages and modifications will readily occur to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative apparatus, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or the scope of Applicants' general inventive concept. The invention is defined in the following claims. In general, the words “first,” “second,” etc., employed in the claims do not necessarily denote an order.
This application is a continuation of U.S. application Ser. No. 12/058,853 of HIROSHI SUZUKI, TAKEHISA OKAZAKI, HIROKAZU YASUMURO, and KENSO ARIMA filed Mar. 31, 2008 for SYSTEMS AND METHODS OF AUTOMATIC RETRANSMISSION OF ELECTRONIC MAIL, the contents of which are herein incorporated by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 12058853 | Mar 2008 | US |
Child | 12343523 | US |