2016-03-31 2 views
1

J'utilise SES pour l'envoi d'e-mails (actuellement seulement l'envoi mais je suis également prêt à l'utiliser pour la réception), le serveur EC2 pour l'application web et RDS. Application Web écrite en Java. Je voudrais agir en tant qu'intermédiaire pour les utilisateurs qui se contactent par le biais de mon site Web en passant par tous les e-mails envoyés par les utilisateurs.E-mail Intermédiaire entre l'expéditeur et le destinataire

Le but est de dissimuler les courriels des deux utilisateurs qui s'empressent mutuellement. 1) Le courriel initial est envoyé sur le site Web, où il reçoit un identifiant unique qui est stocké dans la base de données (contenant les adresses électroniques de l'expéditeur et du destinataire).

2) Tous les e-mails suivants entre les deux utilisateurs sont envoyés à l'adresse e-mail du site avec l'identifiant unique ajouté en tant qu'étiquette (par exemple: bob + [uniqueId] @ domain.com).

3) Le courrier électronique est donc routé entre le destinataire et l'expéditeur (j'effectue des modifications mineures au courrier électronique). (Airbnb fait quelque chose de similaire lorsque les utilisateurs de son site se transmettent un message). En outre, j'aimerais que les pièces jointes puissent également être incluses dans les courriels (et que, par conséquent, elles devraient être transmises).

Est-ce la bonne façon d'implémenter cette fonctionnalité? Dois-je le faire différemment? Si c'est la bonne approche, des références pour commencer? Plus précisément, je ne suis pas sûr de savoir comment utiliser une fonction lambda (si c'est ce que j'utiliserais) pour envoyer un courriel, ou pour interroger mon RDS.

Merci

Répondre

1

Cela semble similaire aux systèmes de messagerie privés que j'ai vu sur d'autres sites. Je pense que tu as la bonne idée. Je recommanderais d'utiliser SES pour envoyer et recevoir, et utiliser une fonction Lambda pour traiter les emails entrants.

Vous pouvez avoir le feu SES fonction Lambda lorsque vous recevez un e-mail: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-action-lambda-example-functions.html

L'autre option pour déclencher le traitement des e-mails entrants serait SES-> SNS-> application Java webhook. Vous pouvez également les mettre en file d'attente via SES-> SNS-> SQS et demander à votre application Java de s'abonner à la file d'attente SQS.

+0

Merci Mark. Je lis sur les deux options. Connaissez-vous des avantages/inconvénients associés aux deux options que vous avez présentées? (comme je ne connais pas les deux, toute information supplémentaire m'aidera à choisir l'option à utiliser ou les choses à approfondir). – theyuv

+0

J'ai utilisé la deuxième option: SES-> SNS (au point de terminaison sur le serveur) -> Traitement Java et transfert de courrier électronique – theyuv

+0

Je prévoyais d'utiliser javamail pour gérer l'envoi de courriels sur mon serveur. Avez-vous une autre/une meilleure suggestion. Je demande parce que j'ai lu ceci: http://www.oracle.com/technetwork/java/faq-135477.html#javamailserver – theyuv