允许用户使用 postfix 发送邮件

允许用户使用 postfix 发送邮件

我已经在我的 ubuntu 服务器上安装了 postfix 和 opendkim,打算将此服务器用作应用程序的私有中继,以便向新用户发送“激活”电子邮件。我使用 dovecot-commons 配置了 SASL 身份验证来保护它。

我使用以下方法进行了测试: 并使用 mail-tester.com 验证我的配置和 SPF/DMARC 记录是否正常工作。我还使用 telnet 进行测试,连接到 SMTP 套接字并在字段中填写我自己的用户名。这也成功了。echo "Email Body" | mail -s "Subject" [email protected]MAIL FROM

然后,我在服务器上设置了一个新用户帐户,并以该新用户的身份测试发送。但此时什么都没起作用。邮件命令和 telnet 方法都会报告成功且没有错误,但电子邮件永远不会到达收件人。我使用一组相同的主题和邮件正文进行了测试,发送到同一个外部电子邮件地址。日志没有显示任何错误,看起来同样成功。

用户帐户使用 postfix + dovecot 有什么先决条件吗?

尝试使用旧用户帐户的日志条目

Nov 24 21:09:42 host postfix/pickup[21809]: D816C20CC7: uid=1000 from=<old_user_account@domain>
Nov 24 21:09:42 host postfix/cleanup[21918]: D816C20CC7: message-id=<[email protected]>
Nov 24 21:09:42 host opendkim[21821]: D816C20CC7: DKIM-Signature field added (s=mail, d=domain)
Nov 24 21:09:42 host postfix/qmgr[21810]: D816C20CC7: from=<old_user_account@domain>, size=368, nrcpt=1 (queue active)
Nov 24 21:09:45 host postfix/smtp[21929]: D816C20CC7: to=<[email protected]>, relay=mx2.hotmail.com[65.54.188.72]:25, delay=2.6, delays=0.05/0.01/1.6/0.92, dsn=2.0.0, status=sent (250  <[email protected]> Queued mail for delivery)
Nov 24 21:09:45 host postfix/qmgr[21810]: D816C20CC7: removed

尝试使用新用户帐户的日志条目

Nov 24 21:10:36 host postfix/pickup[21809]: 72A4C20CC7: uid=1002 from=<new_user_account@domain>
Nov 24 21:10:36 host postfix/cleanup[21918]: 72A4C20CC7: message-id=<[email protected]>
Nov 24 21:10:36 host opendkim[21821]: 72A4C20CC7: DKIM-Signature field added (s=mail, d=domain)
Nov 24 21:10:36 host postfix/qmgr[21810]: 72A4C20CC7: from=<new_user_account@domain>, size=371, nrcpt=1 (queue active)
Nov 24 21:10:39 host postfix/smtp[21929]: 72A4C20CC7: to=<[email protected]>, relay=mx2.hotmail.com[65.55.33.135]:25, delay=3.3, delays=0.06/0/1.7/1.5, dsn=2.0.0, status=sent (250  <[email protected]> Queued mail for delivery)
Nov 24 21:10:39 host postfix/qmgr[21810]: 72A4C20CC7: removed

答案1

您收到了一条排队等待投递的消息,但是您没有提供足够的信息让我们知道它是仅在您的后缀上排队还是也在目的地排队。

您说使用了不同的 hotmail 服务器,我假设您是向 hotmail 上的地址发送邮件?如果 hotmail 对两封不同的邮件都显示“排队等待发送”,而其中一封没有到达,那么问题就出在内容上。一封被检测为垃圾邮件。

也许接收用户可以在他的垃圾邮件文件夹中找到它。否则,将发件人添加到“安全发件人”列表并重试,如果成功,那么您就可以确认这是反垃圾邮件规则。

也许您的 DMARC 对从您的服务器发送的邮件很有效,但对服务器中继的邮件却无效?尝试查找“丢失”的电子邮件或向垃圾邮件过滤较少的地址发送一封新邮件,然后比较邮件头。也许您认识某个使用 SpamAssassin 过滤的人;SpamAssassin 通常会在邮件头中写入分析,您可以使用它来找出您的邮件被视为垃圾邮件的原因。

编辑:感谢您添加日志。它们显示两封邮件都正确发送到了 hotmail。Hotmail IP 不同这一事实并不重要。如果一个重复通过而另一个不通过,则过滤必须根据源电子邮件地址执行不同的操作。由于这是 Hotmail,请尝试将新发件人添加到安全发件人列表在其他情况下,问题可能是手动过滤(一些提供商会让您编写自己的规则,但有时人们会忘记它们)。

相关内容