AWS SNS OTP 이메일

Dec 24 2020

Amazon SNS를 활용하여 사용자 로그인을 위해 OTP 메시지를 보내는 중입니다. 여기 에서 제안하는대로 문자 메시지를 보낼 수 있습니다 . 이메일 알림의 경우에도 유사한 접근 방식을 사용하고 싶습니다. 하지만 이메일 알림처럼 보이지만 SNS에서 주제를 생성하고 애플리케이션에 등록 된 각 이메일 ID에 대해 구독자를 생성해야합니다.

주제와 구독자를 만들지 않고 문자 메시지처럼 동적으로 메일 ID로 이메일을 보낼 수 없습니까? 그렇지 않은 경우 로그인 한 사용자에 따라 동적으로 이메일 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 ) 를 사용해야합니다 .