我想允许 PHP 应用程序发送邮件,但在非常受限制的条件下。
而且我不想允许 PHP 应用程序使用类似 sendmail 的命令(我正在使用 chrooted PHP,这太麻烦了),因此我禁用了mail()
PHP 中的功能。
我有哪些选项可以严格允许/监控通过我的 postfix 发送的 PHP 应用程序?
- HELO 名称可以被伪造
- IP 可能被伪造,且未明确与 PHP 应用程序用户关联
AUTH?我还需要吗smtpd_sender_restrictions=reject_sender_login_mismatch
?
我已经smtpd
在端口 587 上运行了一个smtpd_sasl_type=dovecot
,但我不认为 PHP 应用程序会在 Dovecot IMAP 服务器上拥有帐户 - 我认为大多数 PHP 应用程序会以“noreply@”的形式发送邮件。我应该submission
在 中创建另一个实例/etc/postfix/master.cf
吗?
答案1
是的,您必须在发送时启用并强制 AUTH。为每个域创建一个电子邮件地址。然后告诉开发人员/网站管理员,他们必须在发送时使用给定的用户名和密码(希望他们的 PHP 应用程序支持带身份验证的 SMTP)。您必须禁用来自 localhost 的未经身份验证的邮件中继(在 postfix 中)。并且可能允许(在防火墙中)仅从 postfix 发出 smtp 流量。然后可能对邮件进行速率限制。