<!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.comrnReply-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:webserverhtdocswwwmail.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.
<