SMTP extension to preserve per-message and per-recipient properties
First Claim
1. In a network system where messages created by a plurality of clients are transferred using mail messages comprising an envelope and said message between a plurality of mail servers using a defined protocol, a method for transferring said mail message between said servers using said defined protocol and for transferring additional data using an extension to said defined protocol, said method comprising the steps of:
- creating by a client a message in a first format to be sent via the networked system to a destination location;
sending said message to a first of said servers for transfer via the networked system to said destination location;
creating a mail message from said message by associating said message with an envelope created for said message;
extracting one or more properties from said message;
establishing by said first of said servers a connection between said first of said servers and a second of said servers using procedures defined as part of an established protocol normally used to transfer mail messages between said servers;
transferring said envelope of said mail message from said first server to said second server using said protocol;
transferring said extracted one or more properties from said first server to said second server using an extension to said protocol;
transferring said message of said mail message from said first server to said second server using said protocol; and
terminating by said first server said connection to said second server.
2 Assignments
0 Petitions
Accused Products
Abstract
The SMTP protocol takes a message formatted according to a defined internet standard and wraps the message in an envelope. The message and envelope are sent to servers for transfer through the Internet to their intended destination. The SMTP protocol strictly defines the information that is transferred in the envelope and the format of the message. There is thus a real possibility that when messages are transferred from one network into an SMTP network that information will either be lost or not transferred correctly. The present invention provides systems and methods that take advantage of defined mechanisms to extend the SMTP protocol in order to create the novel extension that allows the transfer of virtually any information after the envelope is transferred but before the message is transferred. The invention allows information usually contained in the message portion to be transferred in the envelope portion. The invention also allows the preservation and transfer of information that would otherwise be lost.
-
Citations
34 Claims
-
1. In a network system where messages created by a plurality of clients are transferred using mail messages comprising an envelope and said message between a plurality of mail servers using a defined protocol, a method for transferring said mail message between said servers using said defined protocol and for transferring additional data using an extension to said defined protocol, said method comprising the steps of:
-
creating by a client a message in a first format to be sent via the networked system to a destination location; sending said message to a first of said servers for transfer via the networked system to said destination location; creating a mail message from said message by associating said message with an envelope created for said message; extracting one or more properties from said message; establishing by said first of said servers a connection between said first of said servers and a second of said servers using procedures defined as part of an established protocol normally used to transfer mail messages between said servers; transferring said envelope of said mail message from said first server to said second server using said protocol; transferring said extracted one or more properties from said first server to said second server using an extension to said protocol; transferring said message of said mail message from said first server to said second server using said protocol; and terminating by said first server said connection to said second server. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. In a network system (a) comprising (i) a first network where messages are transferred internally using a first protocol, said first network comprising a first server, and (ii) a second network where messages are also transferred internally using said first protocol, said second network comprising a second server, and (b) wherein mail messages are transferred between said first server and said second server using a second protocol and (c) wherein said mail messages comprise a message and an envelope, a method for transferring said mail messages between said servers using said second protocol and for transferring extension data with said mail messages using an extension to said second protocol, said method comprising the steps of:
-
creating, by a client system, a message to be sent via the networked system to a destination location, said method including properties that together define said message; sending said message to said first server of said first network; encoding, by said first server, said message in a format suitable for transfer to said second server of said second network using said second protocol; creating a mail message from said encoded message by associating said encoded message with an envelope created for said message; selecting one or more of said properties included in said message, wherein said one or more properties are to be sent to said second server as extension data; establishing by said first server a connection between said first server and said second server using said second protocol; transferring said envelope of said mail message from said first server to said second server using said second protocol; transferring said extension data from said first server to said second server using an extension to said second protocol; and transferring said encoded message of said mail message from said first server to said second server using said second protocol. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. In a network system (a) comprising (i) a first network where messages are transferred internally using a non-SMTP protocol, said first network comprising a first server, and (ii) a second network where messages are also transferred internally using said non-SMTP protocol, said second network comprising a second server, and (b) wherein mail messages are transferred between said first server and said second server using an SMTP protocol and (c) wherein said mail messages comprise a message and an envelope, a method for transferring said mail messages between said servers using said SMTP protocol and for transferring extension data with said mail messages using an extension to said SMTP protocol, said method comprising the steps of:
-
receiving at a first server a mail message comprising an envelope and a message that is to be transferred from said first server to a second server using an SMTP protocol; establishing an SMTP session between said first server and said second server by said first server sending to said second server an SMTP request designed to elicit a response from said second server that will return any SMTP extensions supported by said second server; receiving, at said first server, a list comprising all SMTP extensions supported by said second server, said list having been sent by said second server in response to said SMTP request and including a designated extension; transferring said envelope of said mail message using the SMTP protocol from said first server to said second server; based on said designated extension having been included in said list, then sending by said first server to said second server an encoded data packet comprising extension data, said encoded data packet being sent in addition to said envelope and said message of said mail message using said designated extension, said extension data including one or more selected properties of said message; transferring said message of said mail message using the SMTP protocol from said first server to said second server; and terminating, by said first server, the SMTP session with said second server.
-
-
15. A network system comprising:
-
a first network wherein mail messages are transferred internally using a first protocol, said first network comprising a first server; a second network wherein mail messages are also transferred internally using said first protocol, said second network comprising a second server; means for encoding a message which exists in a format suitable for internal storage and transfer in said first network into a format suitable for transfer to said second network using a second protocol, said encoded message being associated with an envelope to produce a transfer-ready mail message; means for extracting, from said message, one or more properties that are to be transferred to said second network along with said transfer-ready mail message; and means for transferring said transfer-ready mail message and said extracted one or more properties from said first server to said second server, said means for transferring comprising; means for establishing a connection between said first server and said second server using said second protocol; means for transferring said envelope of said transfer-ready mail message from said first server to said second server using said second protocol; means for transferring said extracted one or more properties from said first server to said second server using an extension to said second protocol; and means for transferring said encoded message of said transfer-ready mail message from said first server to said second server using said second protocol. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer-readable medium having a plurality of data fields stored thereon, said plurality of data fields representing an extension data packet that has been constructed by a sending server and is to be transferred from the sending server to a receiving server with a mail message that includes a message and an envelope, said plurality of data fields having encoded thereon one or more properties that have been extracted from said message by said sending server and comprising:
-
a first data field stored in a first region of a range of memory addresses in said medium containing data representing the number of said one or more properties contained in said extension data packet; a first set of data fields stored in a second region of said range of memory addresses, said first set of data fields being associated with a per-message property that has been extracted from said message by said sending server, said first set of data fields comprising; a second data field containing a per-message property tag representing a data type of the per-message property and a name of the per-message property; and a third data field encoding said per-message property and containing data representing the value of said per-message property; and a second set of data fields stored in a third region of said range of memory addresses said second set of data fields being associated with a per-recipient property that has been extracted from said message by said sending server, said second set of data fields comprising; a fourth data field containing a per-recipient property tag representing a data type of the per-recipient property and a name of the per-recipient property; and a fifth data field encoding said per-recipient property and containing data representing the value of said per-recipient property.
-
-
25. A computer-readable medium, as an article of manufacture, for use with a network system comprising (a) a first network comprising a first server, and (b) a second network comprising a second server, said computer-readable medium having computer-executable instructions encoded thereon, comprising:
-
means for encoding a message which exists in a format suitable for internal storage and transfer in said first network into a format suitable for transfer to said second network using a message transfer protocol, said encoded message being associated with an envelope to produce a transfer-ready mail message; means for extracting, from said message, one or more properties that are to be transferred to said second network along with said transfer-ready mail message; and means for transferring said transfer-ready mail message and said extracted one or more properties from said first server to said second server, said means for transferring comprising; means for establishing a connection between said first server and said second server using said message transfer protocol; means for transferring said envelope of said mail message from said first server to said second server using said message transfer protocol; means for transferring said extracted one or more properties from said first server to said second server using an extension to said message transfer protocol; and means for transferring said encoded message of said mail message from said first server to said second server using said message transfer protocol. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. In a network system where messages created by a plurality of clients are transferred using mail messages comprising an envelope and said message between a plurality of mail servers using a defined protocol, a method for transferring said mail message between said servers using said defined protocol and for transferring additional data using an extension to said defined protocol, said method comprising the steps of:
-
creating by a client a message in a first format to be sent via the networked system to a destination location, the message including properties that together define the message; sending said message to a first of said servers for transfer via the networked system to said destination location; creating a mail message from said message by associating said message with an envelope created for said message; obtaining additional data to be sent with said mail message, the additional data including at least one of said properties encoded using at least the steps of; (a) emitting the number of said properties to be included in said additional data; (b) obtaining the next property to be encoded; (c) emitting a property tag comprising an id value which identifies said next property and an data type value which identifies the data type of said next property; (d) if said next property is a multi-valued property comprised of a plurality of items, then emitting the number of items in said next property; (e) if a next item of said next property is of a data type that is variable in length, then emitting the size of said next item; (f) emitting the value of said next item; (g) if additional items remain in said next property then returning to step (e); and (h) if additional properties remain to be encoded then returning to step (b); establishing by said first of said servers a connection between said first of said servers and a second of said servers using procedures defined as part of an established protocol normally used to transfer mail messages between said servers; transferring said envelope of said mail message from said first server to said second server using said protocol; transferring said additional data from said first server to said second server using an extension to said protocol; transferring said message of said mail message from said first server to said second server using said protocol; and terminating by said first server said connection to said second server.
-
Specification