PHP 메일 오류 해결 방법: 1. SMTP 서비스의 릴레이 옵션에 로컬 IP 주소를 추가합니다. 2. 게이트웨이에서 포트 매핑을 만들고 포트 25를 로컬 시스템에 매핑합니다.
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP 메일 오류 문제를 해결하는 방법은 무엇입니까?
php mail() 함수 오류 문제
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>phpinfo</title> </head> <body> <? $to = "atoat@sina.com"; $subject = "php-Mail"; $msg = "I completely understand SMTP servers now!"; $headers = "From: atoat@163.com/r/nReply-To: atoat@163.com"; mail("$to", "$subject", "$msg", "$headers"); echo "finished!"; ?> </body> </html>
오류:
Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay for atoat@sina.com in C:/webserver/htdocs/www/mail.php on line 14
php.ini 구성
[mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. sendmail_from = atoat@163.com
Windows에 기본 제공되는 smtp 서비스를 설치했습니다
오랜 시간 검색한 결과 smtp 서비스 릴레이 옵션에 로컬 IP 주소를 추가하세요
Virtual Server->Properties->Access->Relay
"다음 목록만" 선택 => "단일 컴퓨터" => 127.0.0.1 추가 거기에 로컬 주소에는 문제가 없습니다
프로그램에는 문제가 없지만 받은 편지함으로 메시지가 바로 수신되지 않습니다.
메시지를 받지 못한 이유는 내 컴퓨터가 내부 네트워크에 있어서 보낼 수 없기 때문입니다. 외부 네트워크로 이메일을 보냅니다.
해결책:
게이트웨이에서 포트 매핑을 만들고 포트 25를 로컬 시스템에 매핑합니다. 또는 머신에 공용 IP가 있습니다.
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP 메일 오류 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!