0

我已经根据PHP+Ubuntu Send email using gmail form localhost正确设置了后缀服务器,因此这个 msmtp 通过以下方式发送电子邮件:

$ echo -e "Subject: Test Mail\r\n\r\nThis is my first test email." |msmtp --debug --from=default -t skrifix@seznam.cz

/etc/msmtprc

account default
host smtp.gmail.com
port 587
auth on
user autak987@gmail.com
password *********
from autak987@gmail.com
logfile /var/log/msmtp.log

`$ls -l /etc/msmtprc

-rw-rw-r-- 1 www-data www-data 377 Aug 30 12:54 /etc/msmtprc

哪个工作正常(默认帐户设置在/etc/msmtprc. 然后我设置了sendmail_pathin /etc/php/7.3/apache2/php.ini

sendmail_path = /usr/bin/msmtp -t

所以我尝试从php 手册中执行一个示例 - 邮件

<?php
$to = 'skrifix@seznam.cz';
$sub = 'the subject';
$mes = 'hello';
$header = 'From: autak987@gmail.com\r\n'; //not even needed - the default account is set

mail($to, $sub, $mes, $header);

但我在地址中找不到电子邮件skrifix@seznam.cz。我做错了什么?应该根据那个答案来设置。

编辑:尝试根据此Sending mail through terminal using msmtp 尝试使用 root 触发执行工作正常,但不适用于 php mail(),但没有成功。

Edit2:它变得更加陌生。从 15 次测试发送(15*执行 php 脚本),真正到达了 2 封邮件。但它们来自“未知发件人”,发件人应该是/etc/msmtprc在 header 中指定的默认帐户,甚至在 php 中指定From:...。我真的很困惑,这是怎么回事。

4

0 回答 0