SMTPUTF8 이메일이 반송되는 것을 방지하는 방법

SMTPUTF8 이메일이 반송되는 것을 방지하는 방법

postfix를 3.0으로 업데이트한 후 제목에 UTF-8 문자가 포함된 이메일이 다음 오류와 함께 대기열에 멈춥니다.

SMTPUTF8이 필요하지만 호스트 mail.example.com[1.2.3.4]에서는 제공되지 않습니다.

수신 서버(여기에서는 mail.example.com이라고 함)는 접미사 2.10.1이며 SMTPUTF8을 지원하지 않습니다.

이러한 이메일을 보내기 위해 postfix를 어떻게 얻나요? 업데이트 전처럼 전송되도록 postfix의 일부 옵션을 변경할 수 있나요?

현재 옵션에서 흥미로운 옵션은 다음과 같습니다.

compatibility_level = 2
smtputf8_autodetect_classes = sendmail, verify
smtputf8_enable = ${{$compatibility_level} < {1} ? {no} : {yes}}
strict_smtputf8 = no

이 모든 설정은 3.0의 기본값인 것 같습니다.

답변1

접미사에 따라읽어보기 파일:

기본적으로 Postfix는 보낸 사람 주소에 UTF-8, 받는 사람 주소에 UTF-8 또는 메시지 헤더 값에 UTF-8을 포함하는 주소 유효성 검사 프로브 및 Postfix sendmail 제출에만 "SMTPUTF8 요청"을 설정합니다.

sendmail 명령을 통해 메일을 제출하거나 주소 확인을 사용하는 경우 옵션을 조정해야 할 수도 있습니다 smtputf8_autodetect_classes.

대기열을 성공적으로 플러시하려면 옵션을 수정한 후 명령을 smtputf8_autodetect_classes사용하여 모든 메시지를 다시 대기열에 넣어야 합니다 . 기능을 일시적으로 비활성화해야 할 수도 있습니다(설명의 설명 참조).postsuper -r ALLsmtputf8

답변2

오늘 아침에 이런 오류가 발생했습니다.

  • "php"를 사용하여 이메일을 보내면 다음과 같은 메시지가 수신됩니다.
X-Postfix; SMTPUTF8 is required, but was not offered by host
    mx-aol.mail.gm0.yahoodns.net[67.195.204.80]
  • 적절한 메일링 프로그램을 사용하여 동일한 주소로 이메일을 보내면 메일이 수신됩니다.

그래서 "postfix"를 수정하는 대신 php mail()명령을 수정했습니다.

이것은 나에게 도움이 되었습니다. 이것이 누군가에게 도움이 되기를 바랍니다.

                mail (  // $to =
                        $row["email"],
                        // $subject =
                        "Email subject here",
                        // $message =
                        quoted_printable_encode ("Bonjour,\r\n\r\nBlah blah - Sentiments distingués ... etc. "),

// $headers =
                        'From: ****@example.com' . "\r\n" .
                        'Reply-To: *******@example.com' . "\r\n" .
                        'Content-Type: text/plain; charset=UTF-8' . "\r\n" .
                        'Content-Transfer-Encoding: quoted-printable' . "\r\n" .  // <--- this is THE part.
                        'X-Mailer: PHP/example.com');

관련 정보