System and method for centralizing outbound communications between an email system and a third party service
View Patent ↗A publisher service is disclosed which centralizes outbound communications between an email system and a third party service. The service receives a recipient response to an enhanced email to be sent to a third party service and acquires the email associated with the recipient response. The service then obtains sending instructions based on the enhanced email and sends the response to the third party service using the sending instructions.
1. A publisher service method that centralizes all outbound communications between an email system and a third party service and is performed by a publisher service that is separate from the email system and the third party service, the publisher service method comprising:
receiving, from the email system, a recipient response to an enhanced email, received by the email system from the third party service, to be sent to the third party service, the response being an action performed by a user on an interactive element included in or associated with the enhanced email;
in response to receipt of the recipient response, acquiring, from a persistent storage, the enhanced email associated with the recipient response;
determining whether the retrieved enhanced email includes structured data identifying a transport protocol for interacting with the third party service;
in response to a determination that the retrieved enhanced email includes structured data identifying a transport protocol,
creating a response message, including any required response parameters, based on the received recipient response; and
sending the response message to the third party service using the identified transport protocol;
in response to a determination that the retrieved enhanced email does not include structured data identifying a transport protocol,
creating a response email to the enhanced email based on the received recipient response without requiring a user of the email system to draft a response; and
sending the response email to the third party service.
2. The publisher service method of claim 1 , wherein sending the response email to the third party service comprises sending an SMTP message to the third party service.
3. The publisher service method of claim 1 , wherein sending the response message to the third party service comprises sending an HTTP message to the third party service.
4. The publisher service method of claim 1 , further comprising using an open standard for authentication to support authenticated requests to third party services.
5. The publisher service method of claim 4 , wherein an open standard for authentication is OAuth2.
6. The publisher service method of claim 1 , further comprising:
obtaining a response from the third party service; and
writing the third party service response to persistent storage.
7. The publisher service method of claim 1 , further comprising resending the response to the third party service if the response has not been successfully communicated to the service.
8. The publisher service method of claim 1 , further comprising delaying sending responses for a specified period of time.
9. A system that includes a publisher service comprising:
one or more processing devices and
one or more storage devices storing instructions that, when executed by the one or more processing devices, cause the one or more processing devices of the publisher service to:
receive, from an email system, a recipient response to an enhanced email, received by the email system from a third party service, to be sent to the third party service, the response being an action performed by a user on an interactive element included in or associated with the enhanced email;
in response to receipt of the recipient response, acquire, from a persistent storage, the enhanced email associated with the recipient response;
determine whether the retrieved enhanced email includes structured data identifying a transport protocol for interacting with the third party service;
in response to a determination that the retrieved enhanced email includes structured data identifying a transport protocol,
create a response message, including any required response parameters, based on the received recipient response; and
send the response message to the third party service using the identified transport protocol;
in response to a determination that the retrieved enhanced email does not include structured data identifying a transport protocol,
create a response email to the enhanced email based on the received recipient response without requiring a user of the email system to draft a response; and
send the response email to the third party service;
wherein the publisher service performing the above steps is separate from the email system and from the third party service.
10. The system of claim 9 , wherein sending the response message to the third party service comprises sending an SMTP message to the third party service.
11. The system of claim 9 , wherein sending the response message to the third party service comprises sending an HTTP message to the third party service.
12. The system of claim 9 , further comprising using an open standard for authentication to support authenticated requests to third party services.
13. The system of claim 12 , wherein an open standard for authentication is OAuth2.
14. The system of claim 9 , further comprising:
obtaining a response from the third party service; and
writing the third party service response to persistent storage.
15. The system of claim 9 , further comprising resending the response to the third party service if the response has not been successfully communicated to the service.
16. The system of claim 9 , further comprising further comprising delaying sending responses for a specified period of time.