Electronic mail system with improved methodology for processing messages with mailing lists
First Claim
1. In an electronic mail (e-mail) system, a method for processing a predefined mailing list used for specifying distribution of an e-mail message to multiple recipients, the method comprising:
- receiving at the system an e-mail message specifying delivery to a predefined mailing list that specifies e-mail addresses for a plurality of recipients, the e-mail message specifying message content for the e-mail in a message body;
passing the e-mail message to a mailing list manager for processing the mailing list, said mailing list manager in communication with a plurality of message transfer agents available for processing e-mail addresses and in communication with a fallback message transfer agent for processing e-mail addresses that have been rejected by all of the other available message transfer agents;
for each given recipient of the mailing list, passing the given recipient'"'"'s e-mail address to successive ones of the available message transfer agents until that recipient'"'"'s e-mail address has been successfully processed or all of the other available message transfer agents have been exhausted, and in the event that the given recipient'"'"'s e-mail address cannot he successfully processed by one of said plurality of available message transfer agents, passing the given recipient'"'"'s e-mail address to the fallback message transfer agent for processing; and
handing off the message body for the e-mail message only after all of the addresses of the recipients have been assigned to message transfer agents.
10 Assignments
0 Petitions
Accused Products
Abstract
An electronic mail (“e-mail”) system providing improved methodology for processing messages sent to mailing lists is described. The system include an “Injector” component which serves to “inject” messages into one or more Message Transfer Agents (MTAs). The system'"'"'s Mailing List Manager (MLM), acting through the Injector, posts the address to a first MTA. If that MTA successfully processes the address, it responds with a “success” result, which may be passed back through the Injector to the MLM. If, on the other hand, that MTA is not successful, then the address is passed off to a second MTA. Again, if that MTA is successful, it will indicate that success back to the MLM; otherwise, the address is then passed off to the next MTA. The foregoing sequence continues until either the address for the given recipient is successfully processed by one of the MTAs or all of the available MTAs have been exhausted. In the event that all of the available MTAs fail, the address is then ultimately passed on to a fallback MTA, which will indicate initial success and assume any responsibility for queuing the message for that recipient. Once all addresses have been assigned to exactly one MTA, fallback or otherwise, the body of the message is passed to the MTAs for delivery to the recipients assigned to each. By dividing work among available MTAs, the system of the present invention is able to achieve optimal distribution of workload for the system. In the event of a failure at one of the MTAs, that MTA'"'"'s task may be instead distributed to the other remaining MTAs, that is, applying load balancing technique for handling an MTA failure.
59 Citations
36 Claims
-
1. In an electronic mail (e-mail) system, a method for processing a predefined mailing list used for specifying distribution of an e-mail message to multiple recipients, the method comprising:
-
receiving at the system an e-mail message specifying delivery to a predefined mailing list that specifies e-mail addresses for a plurality of recipients, the e-mail message specifying message content for the e-mail in a message body;
passing the e-mail message to a mailing list manager for processing the mailing list, said mailing list manager in communication with a plurality of message transfer agents available for processing e-mail addresses and in communication with a fallback message transfer agent for processing e-mail addresses that have been rejected by all of the other available message transfer agents;
for each given recipient of the mailing list, passing the given recipient'"'"'s e-mail address to successive ones of the available message transfer agents until that recipient'"'"'s e-mail address has been successfully processed or all of the other available message transfer agents have been exhausted, and in the event that the given recipient'"'"'s e-mail address cannot he successfully processed by one of said plurality of available message transfer agents, passing the given recipient'"'"'s e-mail address to the fallback message transfer agent for processing; and
handing off the message body for the e-mail message only after all of the addresses of the recipients have been assigned to message transfer agents. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
first creating the e-mail message at a mail user agent.
-
-
3. The method of claim 2, wherein said receiving step includes:
establishing an SMTP (Simple Mail Transport Protocol) session between the mail user agent and the system, so that the e-mail message may be submitted to a first mail transfer agent of the system.
-
4. The method of claim 1, further comprising:
before passing a given recipient'"'"'s e-mail address to successive ones of the mail transfer agents, attempting to establish a connection with a plurality of mail transfer agents for determining which ones are available.
-
5. The method of claim 1, wherein at least some of the mail transfer agents reside on different computers than that used for said mailing list manager.
-
6. The method of claim 1, wherein said mailing list manager and said fallback message transfer agent reside on a single computer.
-
7. The method of claim 1, wherein said mailing list manager includes an injector component that controls said fallback message transfer agent via interprocess communication.
-
8. The method of claim 7, wherein said interprocess communication comprises a UNIX pipe.
-
9. The method of claim 1, wherein said mailing list manager first verifies the received e-mail message before attempting to pass it on to a message transfer agent.
-
10. The method of claim 1, wherein said mailing list manager includes an injector component responsible for passing recipient addresses from the mailing list manager to the available message transfer agents, or to the fallback message transfer agent for those recipient addresses where the available message transfer agents are unsuccessful.
-
11. The method of claim 10, wherein said injector component always indicates to the mailing list manager that each initial attempt to deliver to an intended recipient is successful.
-
12. The method of claim 11, wherein said injector component assumes responsibility for queuing delivery for any recipient'"'"'s address passed to it.
-
13. The method of claim 11, further comprising:
creating a bounce message at the injector component, in the event that a particular recipient'"'"'s address passed to the fallback message transfer agent ultimately cannot be successfully processed.
-
14. The method of claim 1, wherein processing of the recipients'"'"' addresses of the mailing list are divided among the message transfer agents, based on the specific number of message transfer agents determined to be available.
-
15. The method of claim 14, wherein the system determines the specific number of message transfer agents available based on those message transfer agents which can successfully establish a connection.
-
16. In an electronic mail (e-mail) system, a method for processing an e-mail message sent to a mailing list, the method comprising:
-
receiving by the system an e-mail message created at a client that is being sent to a predefined mailing list, said predefined mailing list comprising e-mail addresses for a plurality of recipients, the e-mail message specifying message content for the e-mail in a message body;
routing the e-mail message to a message transfer agent that is intended to handle mail for the client;
invoking, by the message transfer agent, a mailing list manager for processing the mailing list; and
invoking, by the mailing list manager, an injector module for injecting the e-mail addresses for the plurality of recipients into multiple message transfer agents that can successfully carry out delivery, said multiple message transfer agents including a fallback message transfer agent that is employed when no other message transfer agent can successfully carry out delivery, wherein all of the e-mail addresses for the plurality of recipients are processed without reporting an error to the mailing list manager, and wherein the message body for the e-mail message is handed off for processing only after all of tile addresses of the recipients have been assigned to message transfer agents. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
establishing an SMTP (Simple Mail Transport Protocol) session between the mail user agent software and the system, so that the e-mail message may be submitted to a first mail transfer agent.
-
-
23. The method of claim 16, wherein the injector module initially distributes processing of the recipients'"'"' addresses among all available message transfer agents, other than the fallback message transfer agent.
-
24. The method of claim 16, wherein the fallback message transfer agent is employed for a given recipient'"'"'s address only if no other message transfer agent can successfully process that recipient'"'"'s address.
-
25. The method of claim 16, wherein at least some of the mail transfer agents reside on different computers than that used for said mailing list manager.
-
26. The method of claim 16, wherein said mailing list manager and said fallback message transfer agent reside on a single computer.
-
27. The method of claim 16, wherein said mailing list manager and said injector module communicate via interprocess communication.
-
28. The method of claim 27, wherein said interprocess communication comprises a UNIX pipe.
-
29. The method of claim 16, wherein said mailing list manager first verifies the received e-mail message before attempting to pass it on for processing.
-
30. The method of claim 16, wherein said injector module assumes responsibility for queuing delivery for any recipient'"'"'s address passed to it.
-
31. An electronic mail (e-mail) system comprising:
-
an e-mail client for creating an e-mail message specifying delivery to a predefined mailing list that specifies e-mail addresses for a plurality of recipients, the e-mail message specifying message content for the e-mail in a message body;
a mailing list manager for processing said mailing list;
a plurality of available message transfer agents that are online and potentially available for processing e-mail addresses;
a fallback message transfer agent for processing e-mail addresses that have been rejected by all of the other available message transfer agents; and
an injector module that passes each given recipient'"'"'s e-mail address from the mailing list manager to successive ones of the available message transfer agents until that recipient'"'"'s e-mail address has been successfully processed, or otherwise passes the given recipient'"'"'s e-mail address to the fallback message transfer agent for processing when the given recipient'"'"'s e-mail address cannot be successfully processed by one of the available message transfer agents, wherein the message body for the e-mail message is handed off for processing only after the address of each recipient has been assigned to one of the message transfer agents. - View Dependent Claims (32, 33, 34, 35, 36)
-
Specification