尝试从我的ubuntu 14.04 localhost发送电子邮件。 我是php的邮件()。它返回true但我没有收到任何电子邮件。 尝试使用不同的提供商(gmail,yahoo)。 但每次我在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"
找不到任何解决方案......
答案 0 :(得分:6)
您不得使用雅虎邮件服务器转发电子邮件。您需要进行身份验证才能使用它。使用mail()
到配置文件可以实现这一点,但使用PHPMailer
或SwiftMail
可以更轻松。
您的邮件转移代理:salvatore-vaio (sm-mta)
不允许使用mx-eu.mail.am0.yahoodns.net
这是为了防止垃圾邮件。
对于发送邮件地址www-data@salvatore-vaio.huawei.com
:
nsaboard:~# host salvatore-vaio.huawei.com
Host salvatore-vaio.huawei.com not found: 3(NXDOMAIN)
您需要设置MX
DNS记录和不同的技术来提高声誉。 (如SPF和DKIM。)。
如果您直接使用雅虎,请将sendmail_from
设置为雅虎地址。
消息延迟可能是由几件事引起的。
答案 1 :(得分:0)
您的问题可能是您需要在自己的smtp上表明身份。
检查你的php.ini是否有smtp服务器。将smtp更改为您实际可以使用的那个。
答案 2 :(得分:0)