我用以下代码进行了测试,提示OK,但是没有收到邮件,不知道有谁知道什么原因$to ="[email protected]"; //不是真的,测试
$subject = "test";
$msg = "test";
$headers = "From:[email protected]"; //不是真的,测试
if(mail("$to", "$subject", "$msg", "$headers"))
echo "ok";//
else
echo "no";//
$subject = "test";
$msg = "test";
$headers = "From:[email protected]"; //不是真的,测试
if(mail("$to", "$subject", "$msg", "$headers"))
echo "ok";//
else
echo "no";//
@ini_set("smtp_port",$this->smtp["port"]);
@ini_set("sendmail_from",$this->smtp["from"]);
要设置php.ini里的配置。
一般是loaclhost,还要注意发送断口不要被屏蔽了
非常感谢dingsongtao的热心回复,我看了,你说的设置我已经设置过了.在php.INI里
[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25; For Win32 only.
sendmail_from = [email protected] //不是真的,测试
内部的就上面那个吧。外部的就程序我这儿有,如有需要,我发给你~~
多谢c461439564的热心回复,我现在想用win自带的stmp服务来发信,因为有好几个程序要用,要是换成别的还得再修改.
1.登陆,输入密码
2.指定本地服务器名localhost
3.在”Advanced>>IP Range>>My Computer”里,把POP3和IMAP前面的勾去掉,因为我们并不想用这个服务器收信,也不打算用IMAP协议;把所有的“Require SMTP authentication”选项都去掉是帮PHP扫清发信的障碍。
4.在”Advanced>>IP Range>>Internet”中,把SMTP, POP3, IMAP全部去掉,因为我们不想外人使用我们的邮件服务器;同时把“Require SMTP authentication”以加强安全性。现在本地邮件发送服务器就配置完毕了。最后不要忘记在php.ini中确保以下部分没有被注释掉:
[mail function]
; For Win32 only.
smtp = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = [email protected]