존재하지 않는 주소(5xx)를 계속 재시도하면 릴레이 서버에 무의미한 부하만 남깁니다. 응답 코드 첫 자리로 반드시 분기합니다.
실패하자마자 즉시 재시도를 반복하면 오히려 릴레이 서버를 더 힘들게 합니다. 간격을 점점 늘리는 지수 백오프를 씁니다.
멱등키 없이 배치를 재실행하면 이미 받은 사람이 같은 메일을 또 받습니다. 발송 전 이력 테이블 조회를 빠뜨리지 않습니다.
수백 통을 동기로 보내면 사용자 화면이 그만큼 오래 멈춥니다. 큐나 별도 스레드로 넘겨야 합니다.
같은 오류가 반복 감지될 때마다 알림을 보내면 담당자가 채널을 꺼버립니다. 오류 키별로 최소 발송 간격을 둡니다.
To 를 나열해 서로의 주소를 노출한다받는 사람끼리 서로를 몰라야 하는 발송은 Bcc 를 씁니다. To 에 여러 명을 나열하면 개인정보 노출 사고입니다.
RFC 2047 인코딩 없이 한글을 그대로 헤더에 넣으면 수신 클라이언트에서 제목이 깨집니다. base64 나 quoted-printable 로 감싸야 합니다.
계좌번호·주민등록번호 전체를 메일 본문에 넣으면 메일함 자체가 유출 지점이 됩니다. 마스킹하거나 링크로 유도합니다.