일부 지침 및 고려 사항 :
주소 질문 : 가장 좋은 것은 이메일 (myaddr**+custom**@gmail.com) 주소의 "+"확장 부분을 사용하는 것입니다. 이렇게하면 경로를 쉽게 지정할 수 있지만 무엇보다도 시스템에 대한 주소 라우팅을 추적하기가 쉽습니다. 다른 기술은 제목의 토큰을 사용합니다.
스팸 : 스팸 처리를 앱 외부에서 수행하고 헤더 기반의 앱 필터를 사용합니다.
대기열에 오류가 발생했습니다. : 대부분은 그렇지 않습니다. 표준 전자 메일 동작은 최대 3 일 동안 메시지 배달을 시도하는 것입니다. 애플리케이션 이메일 서버의 경우, 처리하지 않는 메일의 거대한 스풀 파일이 생성됩니다. 오류 원인이 통제 범위를 벗어나는 경우에만 대기열 메시지를 보냅니다 (예 : 서버가 다운 됨).
유효하지 않은 메시지 처리 : 메시지가 유효하지 않을 수있는 여러 가지 방법이 있습니다. 일부는 라이브러리의 제한 사항입니다 (RFC 유효 패키지 인 경우에도 주소를 구문 분석 할 수 없음). 다른 것은 클라이언트 깨짐 (예 : 특정 헤더 주변의 따옴표 생략) 때문입니다. 다른 것들은 너무 커서, 알려지지 않은 인코딩을 사용하거나, 중요한 헤더를 놓치거나, 하나만 있어야하는 곳에 여러 개의 값을 가지거나, 응용 프로그램에 특정한 의미를 위반하는 등의 것들이있을 수 있습니다. Java mail API 예외를 던질 수있는 경우 오류 처리 은 적절하게 처리하는 방법을 결정해야합니다.
오류 응답 : 모든 오류가 응답 할 수있는 것은 아닙니다. 일부는 스팸으로 인해 생성되므로 해당 주소로 메시지를 보내지 마십시오. 다른 시스템은 자동화 된 시스템 (사용자, 부재중 자동 응답 시스템, 다른 응용 프로그램 메일 시스템 등)에서 온 것이고 회신을 보내면 다른 메시지를 보내주기를 반복합니다.
클라이언트 특정 해킹 : 위와 마찬가지로 각 클라이언트는 코드를 복잡하게 만드는 약간의 차이점이 있습니다. 메시지의 구조를 탐색 할 때 언제나 이것을 명심하십시오.
발신자는 응답 및 루프 : 귀하의 상황에 따라, 당신은 다음 소스 중 일부에서 메일을받을 수 있습니다
- 실제 사람, 아마도 외부 소스에서
- 메일 링리스트
- 을 자신 또는받는 사람 주소 중 하나
- 다른 메일 서버 (반송, 실패 등)
- 다른 시스템의 엔터티 (my- [email protected], 시스템 모니터 @ 로컬 호스트)
- 별칭 이제
에 위의
별칭 중 하나의 별명은, 첫 번째 본능은 자동화 시스템 아마도 "정확한 소스에서 온 메일 만 수락합니다!"라고 말하면서, 사람들이 가장 까다로운 것들을 응용 프로그램 메일 서버로 보낼 것이므로 두통이 많이 생길 것입니다. 모든 것을 받아들이고 명시 적으로 예외를 거부하는 것이 더 나은 것으로 나타났습니다. 디버깅 :받은 메시지의 헤더 사본을 저장하십시오. 문제가 발생하면 언제든지 도움이 될 것입니다.
--Edit--
나는 rossfabricant 언급 확장 가능한 웹 사이트를 구축, 책을 샀다. 좋은 이메일 섹션이 있습니다. 무선 통신 사업자로부터 전자 메일을 처리하고 전자 메일을 인증하는 것에 관한 두 가지 중요한 점이 있습니다.
독특한 회신에 대한 접근 방식은 메일 서버 설치와 유연성의 공정한 금액을 가정 보인다. 어쩌면 다른 사람들은 메일 서버를 제한적으로 제어 할 수 있다면이 방법과 대안을 경험할 수 있습니다. 아니면이 접근법에 대한 요구 사항을 오해 할 수도 있습니다. – Larsenal
당신은 약간의 통제가 필요합니다 - 적어도 적당한 메일 서버는 실행 중입니다. 예를 들어 Postfix는 '+ 주소 지정'을 허용하므로 [email protected]은 [email protected]과 동일한 계정으로 이동합니다. 도착할 POP3 계정을 읽는 것만으로도 고유 한 참조를 얻을 수 있습니다. –