타사 이메일 게이트웨이 릴레이가 보내는 이메일 주소에 대한 메시지 처리를 거부하고 있습니다. 주소는 firstname..lastname @ recipientdomain.com 형식입니다 (두 마침표 참고). RFC 지침에 의해 허용됩니까?
RFC 2822 는 섹션 3.4.1에서 이에 반대하는 것으로 보입니다.
로컬로 해석 된 문자열은 따옴표로 묶은 문자열이거나 도트 원자입니다. 문자열이 점-원자로 표현 될 수 있다면 (즉, 문자 문자로 둘러싸인 문자 또는 “.”이외의 문자를 포함하지 않음), 점-원자 형식을 사용해야하며 인용 문자열 형식은 NOT 사용하십시오. 주석과 접는 공백은 addr-spec의 “@”주위에 사용해서는 안됩니다.
또한 동일한 섹션에서 다음을 참조합니다.
addr-spec = 로컬 부분 “@”도메인
local-part = 도트 원자 / 인용 문자열 / obs-local-part
나는 이것을 localpart가 점으로 분리 된 내용을 가질 수 있지만 두 개의 연속적인 점 은있을 수 없으며 점으로 시작하거나 끝날 수 없다는 것을 의미합니다. 즉, 나는 도트 아톰 구문에 익숙하지 않으므로 여기에 실수했을 수 있습니다.
누군가 확인하고 설명해 주시겠습니까?
답변
그래 정확 해. 인용 한 섹션에서 인용 된 문자열이거나 점 원자 여야합니다. 인용 된 문자열이 분명하지 않기 때문에 (인 클로징 "
이 부족하다는 것이 분명합니다) 점 원자이어야합니다 …
그것은 우리를 dot-atom의 정의로 인도합니다.
힌트는 in RFC 5322 (3.2.3-13 페이지) (RFC 2822에 비슷한 섹션이 포함되어 있음 )를 제외하고는 이것을보십시오 . 이는 점-원자가 점으로 구분 된 하나 이상의 “텍스트”문자로 구성된 문자열로 구성됨을 의미합니다. 텍스트가 0 인 문자열은 계산되지 않으므로 연속 된 두 개의 점 (0 문자로 구분) 또는 선행 또는 후행 점을 가질 수 없습니다 .1*
dot-atom-text = 1*atext *("." 1*atext)
RFC 5322 Internet Message Format October 2008
atext = ALPHA / DIGIT / ; Printable US-ASCII
"!" / "#" / ; characters not including
"$" / "%" / ; specials. Used for atoms.
"&" / "'" /
"*" / "+" /
"-" / "/" /
"=" / "?" /
"^" / "_" /
"`" / "{" /
"|" / "}" /
"~"
atom = [CFWS] 1*atext [CFWS]
dot-atom-text = 1*atext *("." 1*atext)
dot-atom = [CFWS] dot-atom-text [CFWS]
specials = "(" / ")" / ; Special characters that do
"<" / ">" / ; not appear in atext
"[" / "]" /
":" / ";" /
"@" / "\" /
"," / "." /
DQUOTE
답변
당신의 해석은 정확합니다. 로컬 부분은 마침표로 구분 된 텍스트 그룹을 포함 할 수 있지만 연속 된 여러 마침표는 허용되지 않습니다.
당으로 RFC 5322의 섹션 3.4.1 당신이 당신의 질문에서 인용, 도트 원자는 ” 문자 atext 또는 이외의 문자가 포함되어 있지 않습니다.” “atext 문자로 둘러싸인 “. 따라서, 정의상, 도트 원자는 2 개 이상의 연속주기를 포함하지 않을 수있다.
참고 로 RFC 5322의 섹션 3.2.3 에서 가져온 텍스트 정의는 다음과 같습니다.
atext = ALPHA / DIGIT / ; Any character except controls,
"!" / "#" / ; SP, and specials.
"$" / "%" / ; Used for atoms
"&" / "'" /
"*" / "+" /
"-" / "/" /
"=" / "?" /
"^" / "_" /
"`" / "{" /
"|" / "}" /
"~"
물론 두 가지 MTA가 동일한 방식으로 RFC를 시행하는 것은 없으므로 일부 MTA는 다른 MTA가 그렇지 않은 이중 기간을 허용한다는 것을 알게 될 것입니다. 예를 들어 Exchange는 이중 기간이 포함 된 주소에 대해서는 배달을 거부하지만 이중 지원 기간을 모두 사용하는 3 개의 메일 서버를 임의로 선택하여 테스트합니다.
따라서 RFC 5322에 따르면 문제가있는 릴레이를 호스팅하는 조직은 이중 기간이 포함 된 주소를 거부 할 권리가 있습니다.