>  기사  >  백엔드 개발  >  PHP 메일 오류 문제를 해결하는 방법

PHP 메일 오류 문제를 해결하는 방법

藏色散人
藏色散人원래의
2021-10-20 11:42:041489검색

PHP 메일 오류 해결 방법: 1. SMTP 서비스의 릴레이 옵션에 로컬 IP 주소를 추가합니다. 2. 게이트웨이에서 포트 매핑을 만들고 포트 25를 로컬 시스템에 매핑합니다.

PHP 메일 오류 문제를 해결하는 방법

이 기사의 운영 환경: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.