3

我在互联网上找到了一个 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.";
?>

如果我在我的网络酒店使用它,它会完美运行。但我需要它在我的家庭服务器上运行,我只是没有收到任何东西。我尝试使用php -f phpTest, 并通过本地 ip (10.0.0.2) 和使用全局主机名来运行它。我只是收到“邮件发送”而没有收到邮件。

这是我正在运行的 ubuntu 服务器,它使用 apache2。就像我说的那样,脚本没有错,因为它适用于网络酒店。它应该与我的本地设置有关,但我不知道是什么。

所有帮助将不胜感激!

\\恶魔

4

2 回答 2

1

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

于 2013-10-14T09:45:44.040 回答
1

PHPmail函数使用本地 MTA(邮件传输代理),它是一个邮件守护程序,与您的 PHP 解释器和 Apache Web 服务器在同一台机器上运行。

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

sudo apt-get install exim4-daemon-light
sudo dpkg-reconfigure exim4-config
于 2013-10-14T09:39:51.840 回答