SSMTP 和 PHP 通过不同的域名(子域名)发送邮件

SSMTP 和 PHP 通过不同的域名(子域名)发送邮件

我正在尝试在我的 Raspberry PI(Raspbian Wheezy(Debian ARM 端口))Model B 上设置 SSMTP,现在我可以通过控制台正常发送邮件,实际上也可以收到邮件。

问题是,当我尝试通过 PHP 发送邮件时,它似乎将其发送到另一个域/子域。

控制台将其发送到 mail.justcandan.com:587,它可以工作,PHP 通过 mail.pi.justcandan.com(标准端口 25)发送,而它应该与控制台相同。

这是日志中重复的一行

May  6 22:27:24 plaatjescollectie sm-mta[312]: r46AfkKJ025954: to=<[email protected]>, delay=11:45:38, xdelay=00:00:00, mailer=esmtp, pri=6420000, relay=mail.pi.justcandan.com., dsn=4.0.0, stat=Deferred
: Connection timed out with mail.pi.justcandan.com.

这是我的 php ini(/etc/php5/apache2/php.ini) 的 sendmail_path 部分

[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
; http://php.net/smtp-port
;smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = [email protected]

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "/usr/bin/sendmail -t -i -f pi@justcandan -r [email protected]"

那么我做错了什么?我不明白控制台 sendmail 如何正常工作,但在 php 中它不起作用。

好的,我成功了,只是我的 sendmail_path 错了,sendmail 位于 /usr/sbin/ 而不是 /usr/bin。但现在我还是遇到了问题,尽管我的邮件已经物理“发送”,但它却从未到达我的邮箱,真奇怪。

这是我的 mail.log,通过 php 发送时:

May  7 05:43:02 raspberrypi sSMTP[4426]: Creating SSL connection to host
May  7 05:43:02 raspberrypi sSMTP[4426]: SSL connection using RSA_AES_128_CBC_SHA1
May  7 05:43:03 raspberrypi sSMTP[4426]: Sent mail for [email protected] (221 vserver104.axc.nl closing connection) uid=33 username=www-data outbytes=378

这是我的 mail.info,通过 php 发送时:

May  7 05:43:02 raspberrypi sSMTP[4426]: Creating SSL connection to host
May  7 05:43:02 raspberrypi sSMTP[4426]: SSL connection using RSA_AES_128_CBC_SHA1
May  7 05:43:03 raspberrypi sSMTP[4426]: Sent mail for [email protected] (221 vserver104.axc.nl closing connection) uid=33 username=www-data outbytes=378

/var/log 中的所有其他邮件文件都是空的。Apache2 日志仅返回未找到的图标,但这并不重要。

编辑:显然,我的 Pi 没有响应,10 分钟后,我开始收到邮件。所以我想我自己解决了这个问题。

答案1

好的,为了解决这个问题,我必须将 php.ini 中的 sendmail_path 设置为

"/usr/sbin/sendmail -t -i -f pi@justcandan -r [email protected]"

之后我编辑了 /etc/ssmtp/ssmtp.conf 并将重写域更改为justcandan.com

之后我revaliases/etc/ssmtp/

www-data:[email protected]:mail.domain.tld:587

重新启动 apache 后,等待我的 PI 响应,它会向我发送邮件。

相关内容