AWS SNS OTP e-postaları

Dec 24 2020

Amazon SNS'den yararlanarak kullanıcı girişi için OTP mesajları göndermeye çalışıyorum. Burada önerildiği gibi kısa mesaj gönderebiliyorum . E-posta bildirimi için de benzer bir yaklaşım kullanmak istiyorum. Ancak e-posta bildirimleri için, SNS'de bir konu oluşturulması ve uygulamada kayıtlı her e-posta kimliği için bir abone oluşturulması gibi görünüyor.

Konu ve aboneler oluşturmadan metin mesajlarında olduğu gibi dinamik olarak posta kimliğine e-posta göndermek mümkün değil mi? Değilse, lütfen oturum açan kullanıcıya göre e-posta kimliğini dinamik olarak ayarlamanın bir yolunu önerin.

Metin Mesajlaşma Kodu:

 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.
 }

Yanıtlar

2 JohnRotenstein Dec 24 2020 at 17:26

Doğru.

Amazon SNS normalde mesajlar için Genel / Abone Olma modeli kullanır.

Tek istisna, belirli bir alıcıya SMS mesajı gönderme yeteneğidir.

Tek bir alıcıya e-posta göndermek isterseniz , kendi SMTP sunucunuzu kullanmanız veya Amazon Simple Email Service ( Amazon SES ) kullanmanız gerekir.