Ubuntu 14.04를 실행하는 DigitalOcean 서버가 있습니다. PHP 함수(내부적으로 사용됨)에서 mail()
이메일을 보내는 데 문제가 있습니다 sendmail
.
hosts
문제가 내 파일 구성 과 관련이 있는 것 같습니다 . 이것이 내가 /etc/hosts
현재 가지고 있는 것입니다:
127.0.0.1 localhost localhost.localdomain ip-xxx-xxx-xxx-xxx
그리고 etc/hostname
:
ip-xxx-xxx-xxx-xxx
(위의 두 가지에서는 IP 주소 번호를 로 대체했습니다 x
)
이제 이 서버를 가리키는 도메인이 생겼습니다. 이를 이라고 부르겠습니다 mydomain.com
.
따라서 내 웹사이트에서 mydomain.com
이메일을 보내면 해당 이메일은 스팸 폴더로 이동됩니다. 나는 테스트했다https://www.mail-tester.com그것이 지적하는 문제 중 하나는 다음과 같습니다.
mydomain.com
위의 줄을 파일에 추가해 보았지만 hosts
이로 인해 이메일이 오랜 시간 후에 도착하거나 전혀 도착하지 않는 결과가 발생합니다.
수신된 헤더는 다음과 같습니다.
Received: from localhost.localdomain (unknown [xxx.xxx.xxx.xxx])
(using TLSv1.2 with cipher xxx (256/256 bits))
(No client certificate requested)
by mail-tester.com (Postfix) with ESMTPS id xxx
for <[email protected]>; Mon, 29 Apr 2019 18:35:18 +0200 (CEST)
Received: from localhost.localdomain (localhost [127.0.0.1])
by localhost.localdomain (8.15.2/8.15.2/Debian-3) with ESMTP id xxx
for <[email protected]>; Mon, 29 Apr 2019 17:35:18 +0100
Received: from mydomain.com (www-data@localhost)
by localhost.localdomain (8.15.2/8.15.2/Submit) with SMTP id xxx
for <[email protected]>; Mon, 29 Apr 2019 17:35:18 +0100
어떻게 고치나요?
답변1
SMTP를 통해 메일을 보낼 때 연결 서버는 HELO 명령을 통해 자신을 식별합니다. 바라보다https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol#SMTP_transport_example
SMTP 클라이언트의 구성 설정에서 이 설정을 변경해야 합니다. 구체적으로 sendmail
예를 들면 다음과 같습니다.https://serverfault.com/questions/205271/how-to-specify-outgoing-helo-with-sendmail