인터넷 이메일의 제목 줄에는 몇 문자를 사용할 수 있습니까? 이메일 에 대한 RFC 스캔이 있었지만 그것이 얼마나 오래 허용되었는지는 구체적으로 알 수 없었습니다. 프로그래밍 방식으로 유효성을 검사하려는 동료가 있습니다.
공식적인 제한이 없다면 실제로 제안 할만한 좋은 길이는 무엇입니까?
인터넷 이메일의 제목 줄에는 몇 문자를 사용할 수 있습니까? 이메일 에 대한 RFC 스캔이 있었지만 그것이 얼마나 오래 허용되었는지는 구체적으로 알 수 없었습니다. 프로그래밍 방식으로 유효성을 검사하려는 동료가 있습니다.
공식적인 제한이 없다면 실제로 제안 할만한 좋은 길이는 무엇입니까?
답변:
시작하려면 RFC 2822 섹션 2.1.1을 참조하십시오 .
이 표준은 한 줄의 문자 수에 두 가지 한계가 있습니다. 각 문자 줄은 998 자 이하 여야하며 CRLF를 제외하고 78 자 이하 여야합니다.
RFC가 나중에 설명 하듯이 여러 줄로 주제를 접 으면이 한계를 극복 할 수 있습니다 (필수 아님).
각 헤더 필드는 논리적으로 필드 이름, 콜론 및 필드 본문을 포함하는 한 줄의 문자입니다. 그러나 편의상 그리고 라인 당 998/78 문자 제한을 처리하기 위해 헤더 필드의 필드 본문 부분을 여러 줄 표현으로 나눌 수 있습니다. 이것을 "폴딩"이라고합니다. 일반적인 규칙은이 표준이 공백 (WSP 문자가 아닌)을 접을 수있는 곳이면 WSP 앞에 CRLF를 삽입 할 수 있다는 것입니다. 예를 들어 헤더 필드는 다음과 같습니다.
Subject: This is a test
다음과 같이 나타낼 수 있습니다.
Subject: This is a test
제목 헤더에 78자를 넘지 않는 것이 좋습니다. 아무도 제목 전체를보기 위해 스크롤하기를 원하지 않으며 중요한 부분이 오른쪽에서 잘릴 수 있습니다.
RFC2322에 따라 제목 헤더에 "길이 제한이 없습니다"
그러나 긴 헤더를 만들려면 "폴딩"이라는 프로세스를 여러 줄로 분할해야합니다.
주제는 RFC 5322에서 "구조화되지 않은"것으로 정의됩니다.
여기에 따옴표가 있습니다 ([...]는 내가 생략 한 것을 나타냅니다)
3.6.5. Informational Fields
The informational fields are all optional. The "Subject:" and
"Comments:" fields are unstructured fields as defined in section
2.2.1, [...]
2.2.1. Unstructured Header Field Bodies
Some field bodies in this specification are defined simply as
"unstructured" (which is specified in section 3.2.5 as any printable
US-ASCII characters plus white space characters) with no further
restrictions. These are referred to as unstructured field bodies.
Semantically, unstructured field bodies are simply to be treated as a
single line of characters with no further processing (except for
"folding" and "unfolding" as described in section 2.2.3).
2.2.3 [...] An unfolded header field has no length restriction and
therefore may be indeterminately long.
c-client
일부 테스트 후 : Outlook 클라이언트에게 전자 메일을 보내고 제목이> 77 자이고 "=?ISO"
제목 (제 경우 악센트로 인해) 내에서 사용해야 하는 경우 OutLook은 중간에 제목을 "잘라냅니다" 본문 텍스트, 첨부 파일 등 모든 메쉬를 포함하여 이후의 모든 것을 메쉬합니다!
이 같은 몇 가지 예가 있습니다.
Subject: =?ISO-8859-1?Q?Actas de la obra N=BA.20100154 (Expediente N=BA.20100182) "NUEVA RED FERROVIARIA.=
TRAMO=20BEASAIN=20OESTE(Pedido=20PC10/00123-125),=20BEASAIN".?=
에:
보시다시피 제목 줄에서 문자 = 78로 "="다음에 2 개 또는 3 개의 줄 바꿈 문자를 잘라낸 다음 나머지 제목을 잘못 사용했습니다.
OutLook을 사용하는 모든 고객, 다른 이메일 클라이언트가 해당 주제를 처리하는 여러 고객으로부터 나에게보고되었습니다.
ISO가 없으면 상처를 입지 않지만 RFC에 적합하도록 피사체에 추가하면 OutLook 에서이 놀람을 얻습니다. ISO를 추가하지 않으면 iPhone 전자 메일에서 ISO 전자 메일을 이해하지 못합니다 (해당 문자를 사용하는 이름을 가진 파일 첨부는 iPhone에서 작동하지 않음).
나는 여기에 공식적인 한계가 있다고 생각하지 않으며, RFC에도 하드 한계가 지정되어 있지 않다고 확신합니다.
전자 메일뿐만 아니라 일반적인 제목 줄에 대한 일반적인 제한 사항은 다음과 같습니다.
분명히, 당신은 합리적인 무언가를 생각해 내고 싶습니다. 전자 메일 클라이언트를 작성하는 경우 256 자 정도를 사용하고 큰 상용 서버에 대해 철저히 테스트하여 메일을 올바르게 제공하는지 확인하십시오.
도움이 되었기를 바랍니다!