最近我在Ubuntu中安装了sendmail
sudo apt install sendmail
sudo sendmailconfig
当我尝试使用 phpemail();
函数发送邮件时
$to = "[email protected]";
$subject = "Mail Test at ".strftime("%T", time());
$message = "This is a test.";
$message = wordwrap($message, 70);
$from = "[email protected]";
$headers = "From: {$from}";
$result = mail($to, $subject, $message, $headers);
echo $result ? "sent" : "error";
现在,当我浏览 php 网站时,我会收到消息,但没有收到电子邮件(在我的官方电子邮件中)。有人可以帮忙吗?
答案1
您可能需要将主机名添加到/etc/hosts
(找到带有127.0.0.1
并附加您的主机名的行):
127.0.0.1 localhost localhost.localdomain your_hostname_here
尝试重新启动apache
:
$> sudo service apache2 restart
请记住:
mail
true
如果成功将邮件传输到配置的 MTA,则返回成功 ( )。这并不意味着您的 MTA 实际上发送了任何邮件。- 现代邮件服务器可能不接受您的电子邮件,因为垃圾邮件过滤器(DNS 查找、发件人验证等)可能处于活动状态并阻止发送。
您可以sendmail
随时使用以下命令检查邮件队列
$> mailq