이메일 주소에 `=?iso8859-1?B?`...`?=`가 나타나면 무슨 일이 일어났나요?

이메일 주소에 `=?iso8859-1?B?`...`?=`가 나타나면 무슨 일이 일어났나요?

이메일 주소에 =?iso8859-1?B?... 같은 내용이 표시됩니다 . ?=나는 이것이 일부 RFC에 정의되어 있다고 가정합니다. 어디인지 설명해줄 수 있는 사람 있나요? 이제 모든 것이 유니코드일 때 이것이 더 이상 사용되지 않는 것 같나요?

답변1

이는 8비트 데이터를 7비트 ASCII에 맞추기 위해 MIME 형식 이메일 메시지(즉, 기본적으로 모든 메시지)에 사용되는 RFC 2047 "인코딩된 단어" 형식입니다. HTTP GET 또는 쿼리 문자열과는 아무 관련이 없습니다.

Content-Transfer-Encoding은 메시지 본문에 대한 것처럼 Encoded-word는 헤더에 대한 것입니다. 둘 다 Base64 또는 Quoted-Printable 형식을 사용하여 8비트 데이터를 7비트 ASCII 데이터로 변환하고 둘 다 메시지에서 일반적으로 발생합니다.

그러나 일반적으로 메일 앱에서는 이러한 인코딩된 텍스트를 볼 수 없습니다(메시지 소스를 보는 경우 제외). 항상 UI에서 디코딩된 것으로 표시되어야 합니다. 메일 앱에 원시 인코딩된 단어가 표시되면 올바르게 디코딩되지 않았을 가능성이 높습니다(예: 보낸 사람이 잘못된 문자 집합을 지정함).

이 형식은 유니코드에서 더 이상 사용되지 않습니다. 이는 다른 작업을 수행하며 모든 문자 집합에 동일하게 적용됩니다. 실제로 유니코드 텍스트가 =?utf-8?....

그러나 그것은5월SMTP "8BITMIME" 확장으로 인해 더 이상 사용되지 않습니다. 많은 이메일과 마찬가지로 이는 일부 네트워크가 "8비트 클린"이 아니며 상위 비트의 값을 버리거나 조작할 수 있는 시대에서 비롯되었습니다. 이는 TCP/IP를 통해 실행되는 최신 SMTP 소프트웨어에는 더 이상 해당되지 않습니다.

답변2

아마도 이 이메일은 잘못 구성된 플러그인이나 잘못 작성된 플러그인이 포함된 소프트웨어에서 생성된 이메일일 가능성이 높습니다. "=" 및 "?" 아마도 GET 매개변수가 함수 어딘가에 전달되고(잘못 해석/잘못 정렬) 있음을 나타냅니다.

예를 들면 다음을 참조하십시오: (https://magento.stackexchange.com/questions/37663/plugin-email-sender-incorrightly-uses-iso-8859-1) OP는 버그를 기반으로 유사한 맹 글링을 인용합니다.

보낸 사람: =?iso-8859-1?Q? (...) =[이메일 보호됨]

관련 정보