在本地主机中发送邮件需要很长时间

2022-08-30 23:31:59

我正在使用 Ubuntu.我使用以下命令在我的本地主机中安装了 sendmail

sudo apt-get install sendmail

现在我想使用以下php代码检查邮件是否来自我的本地主机。

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

当我执行代码时,它需要很长时间,最后将消息回显为邮件发送。有没有可能解决这个问题?


答案 1

编辑文件并确保第一行如下所示:/etc/hosts

127.0.0.1 localhost.localdomain localhost myhostname

编辑配置文件(在 Ubuntu 中)并取消注释 :sendmail/etc/mail/sendmail.cfline #O

O HostsFile=/etc/hosts

重新启动计算机,或运行 。sudo service sendmail restart

计算机现在应该启动得更快,并且该功能应该几乎立即返回。mail()

但是,除非您按照步骤5操作,否则实际上不会发送电子邮件。

每当使用邮件功能时,您都必须使用发送邮件选项。-f

例如:

mail('recipient@somewhere.com', 'the subject', 'the message', null, '-fsender@somewhere.com');

答案 2

我知道这个问题已经得到了回答,但我发布这个问题是希望它可以帮助其他人寻找解决这个问题的不同解决方案。

对我来说,我只需要将服务器的完全限定域名(FQDN)放入。例如:。/etc/mailnameserver.example.com

重新启动发送邮件以应用更改。

$ sudo service sendmail restart


推荐