Email AWS SNS OTP

Dec 24 2020

Saya sedang mengerjakan pengiriman pesan OTP untuk login pengguna yang memanfaatkan Amazon SNS. Saya dapat mengirim pesan teks seperti yang disarankan di sini . Untuk notifikasi email juga saya ingin menggunakan pendekatan serupa. Tapi sepertinya untuk notifikasi email, topik harus dibuat di SNS dan pelanggan harus dibuat untuk setiap id email yang terdaftar di aplikasi.

Apakah tidak mungkin mengirim email ke mail-id secara dinamis seperti yang dilakukan untuk pesan teks tanpa membuat topik dan pelanggan? Jika tidak, mohon sarankan cara menyetel id email secara dinamis berdasarkan pengguna yang masuk.

Kode untuk Pesan Teks:

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

Jawaban

2 JohnRotenstein Dec 24 2020 at 17:26

Benar.

Amazon SNS biasanya menggunakan model Publik / Langganan untuk pesan.

Satu-satunya pengecualian adalah kemampuan untuk mengirim pesan SMS ke penerima tertentu.

Jika Anda ingin mengirim email ke satu penerima, Anda perlu menggunakan server SMTP Anda sendiri , atau menggunakan Amazon Simple Email Service ( Amazon SES ).