CR과 LF가 이메일로 함께 표시되는 것이 왜 그렇게 중요한가?

StackOverflow https://stackoverflow.com/questions/497064

  •  20-08-2019
  •  | 
  •  

문제

에서 http://www.faqs.org/rfcs/rfc2822.html:

CR과 LF는 CRLF로만 발생해야합니다. 그들은 몸에 독립적으로 나타나서는 안됩니다.

확인 이메일을 보내는 웹 서비스가 있지만 사용자 중 한 명이 이것이 RFC2822 표준을 준수하지 않는다고 지적했습니다. 제 질문은 CR과 LF가 이메일 메시지에 함께 표시되는 것이 왜 중요한가?

도움이 되었습니까?

해결책

이메일에서 CRLF는 라인 분리기이기 때문입니다. CR 만 사용하거나 LF 만 사용하는 경우 다양한 클라이언트 인 SMTP 서버 조합과 모든 종류의 예기치 않은 문제가 발생합니다. 일부 서버는 이메일을 거부하고 일부는 이메일을 "수정"합니다. 고정 된 이메일은 다루기가 가장 재미있는 것입니다.

다른 팁

허용 된 RFC에 있기 때문에?

구현은 RFC에서 파생됩니다. 그렇지 않은 경우 다른 구현간에 상호 운용성을 보장하지 않습니다. 함께 나타나도록 요구하는 기술적 인 이유가 있거나 기술적 인 이유가있을 수도 있지만이 경우에는 그 이유가 관련이 없습니다. "그들이 그렇게 말했기 때문에"의 단순한 문제입니다.

오래된 텔레타이프의 용어로 생각하십시오. CR은 쓰기 헤드를 라인의 시작 부분으로 반환하고 LF는 용지를 한 줄을 앞으로 굴립니다. 새 라인을 시작하려면 두 단계가 필요합니다. LF가없는 CR을 사용하는 경우 동일한 텍스트를 덮어 쓰는 것입니다. 물론 불법입니다.

어쨌든, 이것은 CR+LF를 새로운 라인의 ASCII 코드로 정의하는 역사적 이유입니다. 물론 결국 그것은 단지 임의의 코드 일뿐입니다. 일부 시스템은 CR 만 사용하여 새로운 라인을 표시하고 일부 시스템은 LF 만 사용하고 일부는 다른 문자를 완전히 사용합니다. RFC2822는 하나를 선택해야했고 시퀀스 CRLF 만 허용하기로 결정했습니다.

RFC는 CRLF를 사용하기로 결정했기 때문에 CR 또는 LF를 별도로 허용하지 않는 것이 합리적입니다.

당신이 CR로 끝나지 않는다면, 같은 줄에 당신을 넣는 경우, 당신이 쓰는 것은 같은 줄의 왼쪽 숯 위에있을 것입니다. 그러면 LF가오고 당신은 중간을 향한 일부 열에 있습니다. 다시 쓰기 시작하십시오. 지저분한.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top