Skip to end of banner
Go to start of banner

Synapse Email Service

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

We wish to allow Synapse users to contact each other via email. The feature request is here:  PLFM-2527.  This document suggests a design.

 

 

Design Features

Allow users to send emails to each other, and to Teams, using the synapse.org domain.  E.g. if two users have usernames "Alice" and "Bob", allow Alice to send an email to "bob@synapse.org".  Bob will receive the message at the email account he has registered with Synapse as his 'notification' address. 

If Bob's User Profile notification settings have disabled email, then he will not receive the message. 

The user name in the email addresses will be analyzed using Synapse's user name uniqueness rule, i.e. after stripping all non alphanumeric characters the unique Synapse user name (or team name) alias will be matched.  (If no match is found, the message will be rejected.)

If Alice and Bob are on a Team, "Alice and Bobs Team", then Alice can send an email to "aliceandbobsteam@synapse.org".  The message will be sent to each team member as if it were sent to them directly.

TODO:  Shall we limit Team messaging in any way?  E.g. can only Team admin's send messages to Teams?  Shall we only allow messaging to small Teams?  (We could even combine the two and allow all small Team members to email each other, but for large Teams only allow admin's to do so.)

Each message will have a "one-click unsubscribe" footer, facilitating update of the recipient's notification settings to suppress email delivery.

Leveraging the Synapse messaging System

Synapse has an existing system for sending messages, described here: Messaging services.  This service requires the client to upload the body of an email to an S3 file, then create a message object referencing the file and containing other metadata (from, to, subject).  We will leverage this by adding a component which receives emails and converts them to web requests.  The service we have investigated for this purpose is http://www.cloudmailin.com/.

 

 

 

  • No labels