อีเมล AWS SNS OTP

Dec 24 2020

ฉันกำลังดำเนินการส่งข้อความ OTP สำหรับการเข้าสู่ระบบของผู้ใช้โดยใช้ประโยชน์จาก Amazon SNS ผมสามารถที่จะส่งข้อความตัวอักษรตามที่แนะนำที่นี่ สำหรับการแจ้งเตือนทางอีเมลฉันต้องการใช้วิธีการที่คล้ายกัน แต่ดูเหมือนว่าสำหรับการแจ้งเตือนทางอีเมลจะต้องสร้างหัวข้อใน SNS และต้องสร้างผู้สมัครสมาชิกสำหรับรหัสอีเมลแต่ละรายการที่ลงทะเบียนในแอปพลิเคชัน

เป็นไปไม่ได้ที่จะส่งอีเมลไปยัง mail-id แบบไดนามิกเหมือนที่ทำกับข้อความโดยไม่ต้องสร้างหัวข้อและสมาชิก? หากไม่ได้โปรดแนะนำวิธีตั้งรหัสอีเมลแบบไดนามิกตามผู้ใช้ที่เข้าสู่ระบบ

รหัสสำหรับการส่งข้อความ:

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

คำตอบ

2 JohnRotenstein Dec 24 2020 at 17:26

แก้ไข.

โดยปกติ Amazon SNS จะใช้โมเดลสาธารณะ / สมัครสมาชิกสำหรับข้อความ

ข้อยกเว้นประการหนึ่งคือความสามารถในการส่งข้อความ SMS ไปยังผู้รับเฉพาะ

หากคุณต้องการส่งอีเมลไปยังผู้รับรายเดียวคุณจะต้องใช้เซิร์ฟเวอร์ SMTP ของคุณเองหรือใช้ Amazon Simple Email Service ( Amazon SES )