经过大约 30 个小时几乎绞尽脑汁之后,我不得不得出结论,最好把这篇文章写给那些可能更熟悉这个主题的人。
我有一个使用 Ubuntu 22 的 Digitalocean 服务器。
是的,我知道 Digitalocean 不支持发送邮件等,但我只是使用 postfix 作为简单的中继服务器,没有其他用途。
基本上,我现在正在使用 Amazon SES 向例如“ [email protected] ”发送邮件。我有多个域需要处理,而不仅仅是一个,并且所有这些域的配置(DNS)都正确设置为指向服务器。它之前确实与 brevo 一起使用,但我肯定是配置错误,因为他们因违反 TOS 而随机暂停了帐户,当然没有给出任何理由,只是说“很抱歉您被暂停了”。
我怀疑我直接从发件人那里转发了“发件人:”地址,他们认为有人接管了帐户或做了其他事情,这是公平的。
无论如何...现在我已经描述了基本设置和情况。问题是,我设置了一个过滤器,这对于实现这一点至关重要,如果我在 master.cf 中创建自定义 content_filter 服务,情况似乎如下:
shell_content_filter unix - n n - - pipe
flags=Rq user=filteruser argv=/usr/local/bin/minimal_filter.sh
这是我们可以看到问题日志的一部分:
"relay=shell_content_filter, delay=0.04, delays=0.01/0/0/0.02, dsn=2.0.0, status=sent (delivered via shell_content_filter service"
在 main.cf 中:
content_filter = shell_content_filter
receive_override_options = no_address_mappings
是的,有一个“filteruser”被创建,并且它工作正常,所有权限都正确设置并经过测试,一切运行正常,但我的过滤器被识别为中继,而且它实际上是说电子邮件是由外部服务传递的,这毫无意义......至少对我来说是这样。
不确定这些信息是否足够,如果有人知道发生了什么,我将不胜感激,因为我遇到了很大的麻烦,电子邮件丢失了,永远无法恢复,而且我仍然无法让它工作。