PHP를 사용하여 웹 서버를 통해 이메일을 보내려고 하는데 어떤 이유로 이메일이 도착하지 않습니다. PHP에 따르면 이메일이 성공적으로 전송되었지만 이메일을 받지 못했습니다. 지난 주에 웹 서버를 다시 설치하기 전까지는 웹 서버가 이메일을 성공적으로 보낼 수 있었기 때문에 이것이 스팸 문제가 아니라는 것을 알고 있습니다. 정확히 동일한 OS와 구성이 설치되어 있지만 지금은 작동하지 않습니다.
기본 PHP 설정을 사용하여 이메일을 보내고 방화벽에서 SMTP를 활성화했지만 작동하지 않는 것 같습니다.
작동하지 않는 이유를 해결하는 데 도움이 될 수 있는 PHP 이메일 전송 로그가 있습니까?
답변1
PHP는 웹 서버와 동일한 컴퓨터에서 실행되는 로컬 SMTP 서버와 통신을 시도할 수 있습니다. 그럼 준비됐나요? 선택할 수 있는 것이 많습니다. 가장 널리 사용되는 것은 Sendmail, Exim, Postfix 및 Qmail입니다.
mailx
원래 클라이언트를 사용하여 이메일을 보내 보세요 . 기계 외부로 메일을 보낼 수 없다면 아마도 PHP가 메일을 보낼 수 없는 것과 같은 이유이므로 문제는 PHP 외부에 있을 것입니다.
포트 25 telnet
에 연결하고 수동으로 SMTP를 사용하여 명령줄에서 수동으로 이메일을 보내보세요 . localhost
이에 대한 온라인 가이드가 많이 있습니다.이것은. 그곳에서 어디로 가는지는 무슨 일이 일어났는지에 따라 달라집니다.
포트 25에서 응답을 받지 못하면 SMTP 서버가 실행되고 있지 않은 것입니다.
응답이 있으면 문제를 해결하라는 오류 메시지가 표시될 수도 있습니다.
이메일을 수락하는 것으로 보이면 로컬 SMTP 서버를 디버깅해야 합니다.