E-mails AWS SNS OTP

Dec 24 2020

Je travaille sur l'envoi de messages OTP pour la connexion des utilisateurs en utilisant Amazon SNS. Je suis en mesure d'envoyer un message texte comme suggéré ici . Pour la notification par e-mail également, j'aimerais utiliser une approche similaire. Mais il semble que pour les notifications par e-mail, un sujet doit être créé dans SNS et un abonné doit être créé pour chaque identifiant d'e-mail enregistré dans l'application.

N’est-il pas possible d’envoyer des e-mails à mail-id de manière dynamique comme pour les SMS sans créer de sujets et d’abonnés? Si ce n'est pas le cas, veuillez suggérer un moyen de définir l'ID de messagerie de manière dynamique en fonction de l'utilisateur connecté.

Code pour la messagerie texte:

 public static void main(String[] args) {
    AmazonSNSClient snsClient = new AmazonSNSClient();
    String message = "My SMS message";
    String phoneNumber = "+1XXX5550100";
    Map<String, MessageAttributeValue> smsAttributes = 
            new HashMap<String, MessageAttributeValue>();
    //<set SMS attributes>
    sendSMSMessage(snsClient, message, phoneNumber, smsAttributes);
 }
 public static void sendSMSMessage(AmazonSNSClient snsClient, String message, 
    String phoneNumber, Map<String, MessageAttributeValue> smsAttributes) {
    PublishResult result = snsClient.publish(new PublishRequest()
                    .withMessage(message)
                    .withPhoneNumber(phoneNumber)
                    .withMessageAttributes(smsAttributes));
    System.out.println(result); // Prints the message ID.
 }

Réponses

2 JohnRotenstein Dec 24 2020 at 17:26

Corriger.

Amazon SNS utilise normalement un modèle Public / Subscribe pour les messages.

La seule exception est la possibilité d'envoyer un message SMS à un destinataire spécifique.

Si vous souhaitez envoyer un e-mail à un seul destinataire, vous devrez utiliser votre propre serveur SMTP ou utiliser Amazon Simple Email Service ( Amazon SES ).