我用 PHP(在 Linux 上)编写了一个工具,通过 mail() 发送邮件(不幸的是,PHPMailer 不是一个选项,因为缺少对某些必需内容的支持)。
PHP 忽略 Linux 上的所有 SMTP 设置,以便使用 sendmail_path 设置。
但是,当通过 mail() -> /usr/sbin/sendmail 发送邮件时,这会导致邮件在本地传递(发送服务器也是传递)。
但我必须有一个常规的“从...接收”标头,因为当邮件通过常规 SMTP 传入时,就会出现这种情况(这是在邮件之后传递的一些过滤所必需的,而我没有访问权限/选项进行更改)。
所以我的问题是:是否有机会“强制”/usr/sbin/sendmail 将邮件通过 SMTP 传递到 Postfix,而不是直接将其放入“传递”过程?
我已经尝试过 /usr/sbin/sendmail 的替代方案,例如 msmtp,但我的操作系统不允许两者共存,并且我无法为此删除 Postfix。
非常感谢任何帮助:-D
答案1
选项 (1):在邮件中插入您自己的Received:
标头以及Subject:
.
选项 (2):配置新的 smarthost SMTP 中继服务器,并通过该计算机转发消息。
选项 (3):编写 php 代码,连接到端口 25 并发送一些简单的动词:EHLO、MAIL FROM、RCPT TO、DATA。