mail()php返回true但邮件未收到

Sal*_*tto 0 php email

试图从我的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.
Run Code Online (Sandbox Code Playgroud)

我试过了:

telnet mx-eu.mail.am0.yahoodns.net 465
Run Code Online (Sandbox Code Playgroud)

但我收到以下消息:

telnet:无法连接到远程主机:网络无法访问

也尝试过:

ping -c 3  mx-eu.mail.am0.yahoodns.net
Run Code Online (Sandbox Code Playgroud)

得到了这个:

--- 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
Run Code Online (Sandbox Code Playgroud)

另外我的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"
Run Code Online (Sandbox Code Playgroud)

找不到任何解决方案......

Dan*_* W. 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)
Run Code Online (Sandbox Code Playgroud)

您需要设置MXDNS记录和不同的技术来提高声誉.(如SPF和DKIM.).

如果您直接使用雅虎,请将您设置sendmail_from为雅虎地址.

消息延迟可能由几件事引起.