인프런 커뮤니티 질문&답변

YOGURT님의 프로필 이미지

작성한 질문수

대기업 서버 개발자가 알려주는 Spring, AWS를 활용한 이메일 전송 시스템

혹시 대규모로 메일 발송을 해야할 땐 어떤 조치를 해야하나요?

작성

·

29

0

혹시 대규모로 메일 발송을 해야할 땐 어떤 조치를 해야하나요?

 

이번에 회사에 대량의 이메일을 발생할 일이 있는데... 어떤준비를 해야할지 모르겠어서 조언을 구하고싶습니다.

답변 2

0

Hong님의 프로필 이미지
Hong
지식공유자

음 제가 어떤 상황인지를 정확하게 인지를 하지 못해서 저는 다음과 같은 상황을 가정해보겠습니다.

 

대량의 메일발송이 진행이 된다면, 일부 크론잡 스케줄러를 통해서 주기적으로 원하는 대상을 인식하고 메일을 전송한다고 가정해볼게요.

 

그러면 일단 원하는 데이터는 긁어왔을것이고, 원하는 이메일 형식도 긁어왔다고 가정을 하겠습니다.

  • 예를들면, A라는 사용자에게는 A라는 이메일을 전송을 해야하고

  • B라는 사용자에게는 B라는 템플릿의 이메일을 전송을 해야 합니다.

  • 이 두가지 모두 DB를 통해서 관리가 되거나, 굳이 DB 데이터가 필요가 없다면, 내부 HTML파일의 형태에서 관리를 하셔도 됩니다.

 

이렇게만 가져오면, 그렇게 큰 문제가 없다고 생각을 합니다. 저는 단순히 API 요청에 따라서 메일을 전송하는 형태라서 Bulk형태로써 전송을 하지는 않아서 해당 부분에 대해서 잘 모르는 부분이 있을 수 있는데

 

Bulk형태의 메시지를 전송하는 Method를 지원해준다면, 해당 메서드를 활용하면 되고

없다면, 단순히 긁어온 데이터에 대해서 템플릿을 주입해서 사용하는 형태로 구성하시면 될 꺼 같습니다.

  • 하나씩 보내도 문제가 안되는 이유는, 일단 발생하는 부하가 내부 DB와 같은 내부 시스템이 아니고 AWS에서 발생을 하며, AWS에서는 전송하는 메일 당 비용이 부과가 될 것이기 떄문입니다.

     

0

안녕하세요, 인프런 AI 인턴입니다. YOGURT님.

대규모로 이메일 발송을 계획하고 계신다면, 안정적이고 효율적인 이메일 전송을 위해 몇 가지 고려해야 할 사항들이 있습니다. 기존의 유사한 질문에 대한 답변을 참고하여 몇 가지 조언을 드리고자 합니다.

  1. 이메일 발송 플랫폼의 선택: AWS SES(Amazon Simple Email Service)나 SendGrid 같은 클라우드 기반의 이메일 서비스는 대량 이메일 발송에 최적화되어 있습니다. 이러한 서비스를 활용하면 높은 전송량을 처리하고, 발송된 이메일의 성공 여부를 모니터링할 수 있습니다.

  2. 발송량의 조절 및 모니터링: 대량 이메일 발송 시에는 수신서버의 스팸 필터링에 걸리지 않도록 발송량을 조절하는 것이 중요합니다. SMTP 서버를 통해 일정량 이상을 수시간 내 발송하지 않도록 하며, 발송 상태를 실시간으로 모니터링해야 합니다.

  3. DKIM, SPF 설정: 이메일의 신뢰성을 높이기 위해서 DKIM(DomainKeys Identified Mail)과 SPF(Sender Policy Framework) 레코드를 설정하여 발신 도메인의 신뢰성을 높이는 것이 좋습니다.

  4. 구독 해지 및 발송 정책: 수신자의 구독 취소 링크를 이메일에 명확하게 포함하여 불필요한 스팸 컴플레인을 방지하고 기업의 이미지를 제고하는 것이 필요합니다.

기본적인 이메일 발송에 대한 설정과 조언은 다음 링크들을 통해 참고하실 수 있습니다:
- 대규모 이메일 발송 시스템 설계하기
- AWS SES 활용하기

이 외에도 발송 처리량이 많아질 경우에는 메시지 큐와 비동기 처리 방식의 도입을 고려해볼 수도 있습니다. 프로세스의 최적화와 오류 처리 방안을 사전에 준비해 두세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

YOGURT님의 프로필 이미지
YOGURT
질문자

링크에 404가 발생해서.. 다시 부탁드려도 될까요?

YOGURT님의 프로필 이미지

작성한 질문수

질문하기