메일 목록에 있는 수신자는 목록에 있는 모든 사람에 대해 Amazon SNS 주제 이메일을 구독 취소할 수 있습니다. 이를 방지하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 1월 15일

메일 목록의 이메일 주소가 Amazon Simple Notification Service(Amazon SNS) 주제를 구독하도록 설정했습니다. 목록의 한 멤버가 메시지의 구독 취소 링크를 선택하면 목록에 있는 모든 수신자와 함께 메일 목록에 포함된 이메일 주소의 구독이 취소됩니다. 이러한 일이 발생하지 않도록 하려면 어떻게 해야 합니까?

간략한 설명

이메일 구독자가 있는 Amazon SNS 주제에 메시지를 게시하면 해당 구독자가 수신하는 이메일 메시지에 구독을 취소하는 데 사용할 수 있는 링크가 포함됩니다. 위 링크는 "이 주제의 알림 수신을 중단하려면 아래 링크를 클릭하거나 방문하여 구독 취소하십시오."와 같습니다.

자신의 이메일 주소를 사용하여 Amazon SNS 주제를 구독한 경우 구독 취소 링크를 선택하면 해당 이메일만 구독이 취소됩니다.

Amazon SNS 주제 메일 발송 목록에 있는 멤버가 구독 취소 링크를 선택한 경우에는 메일 목록의 모든 이메일 주소에 대해 구독이 취소됩니다. 그런 다음 메일 발송 목록에 있는 모든 사람이 “구독 취소 확인” 메시지를 받습니다.

참고: 이메일 스팸 필터가 메일 발송 목록의 이메일 주소를 수신 거부할 수도 있습니다.

구독 취소 작업을 방지하려면 인증을 해야만 취소할 수 있는 구독을 생성하여 주제 소유자와 구독 소유자만 구독을 취소할 수 있도록 합니다. 이 경우 사용자가 링크를 선택하면 다음 오류 메시지가 표시됩니다.

"Subscription not removed
Your subscription could not be removed because of an error. If you wish to unsubscribe but do not have AWS credentials, or have any other questions about Amazon SNS, please contact Amazon at sns-question@amazon.com."

해결 방법

기존 구독을 인증을 해야만 취소할 수 있는 구독으로 바꾸려면 먼저 기존 구독을 삭제합니다. 그런 후 다음 방법 중 하나를 사용하여 새로운 구독을 설정합니다.

중요: 새 구독을 확인하고 설정을 완료하려면 구독 확인 이메일 메시지에 액세스해야 합니다. 메일 목록에 대해 주제를 구독하도록 설정한 경우 먼저 메일 목록에 사용자의 이메일 주소를 추가하여 구독을 확인할 수 있도록 합니다.

인증을 해야만 취소할 수 있는 이메일 구독 설정(Amazon SNS 콘솔)

1.    Amazon SNS 콘솔을 열고 이메일 주소에 대해 주제를 구독하도록 설정합니다.

2.    이메일에서 AWS Notifications로부터 받은 구독 확인 메시지를 찾습니다. 발신자는 일반적으로 "no-reply@sns.amazonaws.com"입니다.

중요: 구독 확인 이메일에 있는 링크를 사용하여 구독을 확인하지 않도록 합니다.

3.    구독 확인 링크의 URL을 클립보드에 복사합니다.

4.    Amazon SNS 콘솔의 왼쪽 탐색 메뉴에서 구독을 선택합니다.

5.    구독 페이지에서 구독을 선택하고 "확인 보류 중"을 선택한 다음 구독 확인을 선택합니다.

6.    구독 확인 대화 상자에서 복사해 둔 구독 확인 URL을 붙여 넣습니다.

7.    [구독 확인(Confirm subscription)]을 선택합니다.

인증을 해야만 취소할 수 있는 이메일 구독 설정(AWS CLI)

참고: AWS 명령줄 인터페이스(AWS CLI) 명령을 실행할 때 오류가 발생할 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

1.    AWS CLI에서 다음 명령을 실행합니다.

aws sns list-topics --region us-east-1

중요: 주제가 다른 리전에 있는 경우 region us-east-1을 해당 주제에 맞는 올바른 AWS 리전으로 바꿔야 합니다.

2.    출력에서 구독하려는 주제를 찾은 다음 해당 TopicArn 값을 클립보드에 복사합니다. 주제 ARN은 다음과 비슷합니다. arn:aws:sns:us-east-1:0123456789012:my-topic

3.    다음 명령을 실행합니다.

aws sns subscribe --topic-arn arn:aws:sns:us-east-1:0123456789012:my-topic --protocol email --notification-endpoint test@amazon.com --region us-east-1

중요: topic-arn 값을 복사한 주제 ARN으로 바꾸어야 합니다. 또한 notification-endpoint 값을 주제를 구독하려는 이메일 주소로 바꾸고, region을 주제의 AWS 리전으로 바꿉니다.

4.    이메일에서 AWS Notifications로부터 받은 구독 확인 메시지를 찾습니다. 발신자는 일반적으로 "no-reply@sns.amazonaws.com"입니다.

중요: 구독 확인 이메일에 있는 링크를 사용하여 구독을 확인하지 않도록 합니다.

5.    구독 확인 링크의 URL을 클립보드에 복사하고 텍스트 편집기에 붙여 넣은 다음 토큰을 복사합니다. 토큰은 URL의 가운데 부분에서 "Token=" 뒤와 "&Endpoint=" 앞에 나오는 일련의 긴 숫자와 문자입니다. 예를 들면 다음과 같습니다.

https://sns.us-east-1.amazonaws.com/confirmation.html?TopicArn=arn:aws:sns:us-east-1:123456789012:my-topic&Token=2336412f37fb687f5d51e6e241da92fcfd03593fd8dfa4bd75978a2ad7255afb88e71028f6a034d06f469f6c7ef2
0a609348542a0c68a9561c03a39d59beb02e2b7112c45f7ae26c344819b39cf07f15bef6c6c09766f9caa1fa55c236e7
7c33a50870bc027c74640ff64a7e99a67117
&Endpoint=test@amazon.com

6.    복사해 둔 토큰 및 2단계와 동일한 주제 ARN을 사용하여 다음 명령을 실행합니다.

aws sns confirm-subscription --token 2336412f37fb687f5d51e6e241da92fcfd03593fd8dfa4bd75978a2ad7255afb88e71028f6a034d06f469f6c7ef20a609348542a0c68a9561c03a39d59beb02e2b7112c45f7ae26c344819b39cf07f15bef6c6c09766f9caa1fa55c236e77c33a50870bc027c74640ff64a7e99a67117 --topic-arn arn:aws:sns:us-east-1:0123456789012:my-topic --authenticate-on-unsubscribe true --region us-east-1

중요: token 값을 복사한 토큰으로 바꿔야 합니다. 또한 topic-arn 값을 2단계의 동일한 주제 ARN으로 바꾸고 region을 주제의 AWS 리전으로 바꿉니다.


Amazon SNS 시작하기

subscribe(AWS CLI 명령 참조)

confirm-subscription(AWS CLI 명령 참조)

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?