php使用sendmail和maildev发送邮件需要1分钟以上

Hug*_*o H 9 php email smtp sendmail

Maildev正在运行

maildev -s 25
Run Code Online (Sandbox Code Playgroud)

PHP设置为

[mail function]
SMTP = 127.0.0.1
smtp_port = 25
Run Code Online (Sandbox Code Playgroud)

当我尝试发送邮件(使用PHPMailer)时,我看到sendmail正在运行:

0784 www-data   20   0  4508   748   672 S  0.0  0.0  0:00.00 sh -c /usr/sbin/sendmail -t -i  -oi -fmailer-daemon@host.com
Run Code Online (Sandbox Code Playgroud)

大约2百万后,该过程结束,邮件被发送到Maildev.

我不明白为什么邮件没有直接发送给Maildev ...

Hug*_*o H 8

我终于找到了!

在我的/var/logs/mail.log中我有这个错误日志:

My unqualified host name (hugo) unknown; sleeping for retry
Run Code Online (Sandbox Code Playgroud)

然后1分钟后:

Unable to qualify my own domain name (hugo) -- using short name
Run Code Online (Sandbox Code Playgroud)

我用https://askubuntu.com/a/436270/510570解决了这个错误:

在我的/etc/hosts文件中设置一个好的FQDN :

127.0.0.1 hugo.example.com hugo 
Run Code Online (Sandbox Code Playgroud)

并应用它:

sudo hostname hugo.example.com
Run Code Online (Sandbox Code Playgroud)