首頁 >後端開發 >PHP問題 >如何解決php 郵件錯誤問題

如何解決php 郵件錯誤問題

藏色散人
藏色散人原創
2021-10-20 11:42:041529瀏覽

php mail錯誤的解決方法:1.在smtp服務的中繼選項中加入本機IP位址;2、在閘道做個連接埠映射,把25埠映射到本機即可。

如何解決php 郵件錯誤問題

本文操作環境:Windows7系統、PHP7.1版、DELL G3電腦

如何解決php mail錯誤問題?

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位址

虛擬伺服器->屬性->訪問-> ;中繼

選擇"僅以下清單"=>"單一電腦"=>新增127.0.0.1的本機位址

程式沒有出現問題,但收件匣中沒有立即收到訊息.

沒有收到是因為我的機子是在內網中,不能把郵件寄到外網.

解決方法:

在網關做個連接埠映射,把25連接埠映射到本機.或本機有公網IP.

推薦學習:《PHP影片教學

以上是如何解決php 郵件錯誤問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn