【发布时间】:2014-08-18 13:10:10
【问题描述】:
尝试从我的 ubuntu 14.04 localhost 发送电子邮件。 我正在使用 php 的 mail()。它返回 true,但我没有收到任何电子邮件。 尝试了不同的提供商(gmail、雅虎)。 但每次我在 mail.log 中收到此消息时:
Aug 18 15:05:10 salvatore-vaio sm-mta[5378]: s7ID59ib005376: to=<dibenedettosa@yahoo.it>, ctladdr=<www-data@salvatore-vaio.huawei.com> (33/33), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=121979, relay=mx-eu.mail.am0.yahoodns.net. [188.125.69.79], dsn=4.0.0, stat=Deferred: Connection refused by mx-eu.mail.am0.yahoodns.net.
我试过了:
telnet mx-eu.mail.am0.yahoodns.net 465
但我收到以下消息:
telnet:无法连接到远程主机:网络不可达
也试过了:
ping -c 3 mx-eu.mail.am0.yahoodns.net
得到了这个:
--- mx-eu.mail.am0.yahoodns.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 168.969/445.192/995.807/389.344 ms
还有我的 php.ini:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.mail.yahoo.com
; http://php.net/smtp-port
smtp_port = 465
auth_username = myid
auth_password = mypass
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = dibenedettosa@yahoo.it
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "/usr/sbin/sendmail -t -i"
找不到任何解决方案...
【问题讨论】:
-
你用什么做邮件服务器?
-
考虑使用 PHPMailer 之类的库,如果您想通过 smtp 服务器发送邮件,可以使用来自 gmail 的库
-
依靠
mail()的返回true:如果邮件被SMTP 服务器接受以进行传递,PHP 的mail()函数将返回True。 True 不暗示邮件包含有效的电子邮件地址或邮件实际已送达。