无法通过php脚本发送邮件

我在网上find了一个php脚本:

<?php $to = "*******@yahoo.com"; $subject = "Test mail"; $message = "Hello! This is a simple email message."; $from = "****@*****.nu"; $headers = "From:" . $from; mail($to,$subject,$message,$headers); echo "Mail Sent."; ?> 

如果从我的networking酒店使用它,它会很好地工作。 但我需要通过运行在我的家庭服务器上,我只是没有收到任何东西。 我试图运行php -f phpTest ,并通过本地IP(10.0.0.2),并使用全球主机名。 我只是得到“邮件发送”而没有收到邮件。

这是我运行的Ubuntu服务器,它使用apache2。 就像我说的,脚本没有错,因为它在web-hotel上工作。 它应该是我的本地设置的东西,但我不知道什么。

所有的帮助将不胜感激!

\\恶魔

PHP mail功能使用本地MTA(邮件传输代理),它是与您的PHP解释器和Apache Web服务器在同一台机器上运行的邮件代理。

所以你必须在你的Ubuntu设置上安装和配置一个。 sendmail是经典的,但exim据说易于配置,并且可以使用当前的SMTP服务器作为智能主机中继,这对于家庭服务器来说非常合适。

 sudo apt-get install exim4-daemon-light sudo dpkg-reconfigure exim4-config 

而不是依赖内置的mail功能需要工作的MTA,你可以使用像Swiftmailer库通过现有的SMTP服务器 (例如,您的常规邮件地址)发送邮件。 这样,您就可以获得更少的垃圾邮件过滤功能(因为垃圾邮件过滤器有时对从家庭服务器发送的邮件非常怀疑)。