我需要一些认真的帮助。我对 Postfix 还很陌生,但花了无数个小时研究我的问题。让我直奔主题...
我将非常感谢您的回复,并请尽力用虚拟语言解释这些步骤。
理由: 我希望所有退回的电子邮件都发送到我的 IMAP 退回地址(例如[电子邮件保护])。问题是退回邮件被退回到 Postfix 发件人信封 (MAIL FROM) 中的地址([电子邮件保护])。这是我的 Postfix 邮件服务器的完全限定域名。
然后,Postfix 会在本地发送退回邮件,如 vmail 邮箱中确认的那样。
但是,我不希望这个日志被退回数据堵塞。这没有逻辑意义,因为我没有使用 Postfix 进行 IMAP 或接收消息。我只使用专门用于发送的 Postfix发送邮件。
我所有的传入消息/IMAP 发生在我的 Namecheap 邮箱中。如果有人回复我的电子邮件,它会被递送到该区域,因为我的 DNS 中有一个 Namecheap MX 记录。
所有 ISP 都会将退回的电子邮件信息返回到发件人的信封 MAIL FROM 地址,而不是返回路径中的标题. 澄清一下我的回程路线标题是[电子邮件保护]。因此,我希望这个域名与发件人信封相匹配。
我还计划使用我的 Postfix 邮件服务器从另一个域发送电子邮件(例如[电子邮件保护]
因此,每当电子邮件被退回时,我希望第二个域名能够与发件人信封匹配。
解决方案规范吗? 在阅读了几个这样的帖子后,一,似乎常见的答案是使用正则表达式 canonical_maps 和 canonical_classes。
但是,根据我的使用情况,我完全不知道应该在 /etc/postfix/canonical 文件中输入什么表达式。
有人能告诉我根据上述内容具体如何写出这些表达式吗?请不要向我指出 Postfix 文档,尤其是有关此主题的文档,因为我已经完成了此步骤。它所做的只是让我陷入一片混乱。
回想起来,我想要一个表达式,告诉 Postfix 自动重写多个域的发件人信封以匹配标头返回路径电子邮件。例如:
我从[电子邮件保护]。有些电子邮件被退回。我希望发件人信封显示[电子邮件保护]这样我就可以在我的 Namecheap 邮箱中收到退回的邮件。
我还从另一个域名发送批量电子邮件[电子邮件保护]。我想要与上面 #1 相同的设置。
这样,Postfix 邮件服务器就不会再收到这些消息,也不会进一步消耗系统资源和硬盘存储。
如果有帮助的话,我尝试了 chatgpt,但我认为答案不准确。它告诉我将此代码粘贴到规范文件中:
/^(joe@news\.mydomain\.com)$/ [email protected]
/^(joe@news\.mydomain2\.com)$/ [email protected]
在专家看来这正确吗?
反响?
我的最后一个问题非常重要:更改发件人信封会有什么后果吗?ISP 会将我的电子邮件标记为垃圾邮件吗?
我注意到我的发件人信封地址被退回[电子邮件保护],这是 Postfix 的默认设置。
根据这个线其中写道,“我应该将双弹跳保留为默认设置。使用 postfix,将其设置为有效地址将创建传输循环。更改默认设置会破坏内部工作和垃圾邮件过滤器、spamassassin 规则等。它还可能使您被列入更多黑名单。”
那么如果情况确实如此,为什么这么多 Postfix 用户使用规范映射更改发件人信封而没有任何问题?如果 Postfix 已经为您提供了更改电子邮件的灵活性,我不明白它怎么会让您进入更多的黑名单。如果会产生严重后果,Postfix 为什么要这样做?
我不确定我是否可以做到这一点,但我愿意补偿那些花时间提供足够详细回复并帮助找到可行解决方案的人!
抱歉写了这么长。我试图写得非常详细,以便能够得到有效的回复并帮助其他面临同样困境的人。
非常感谢!
答案1
(这应该是一个评论,但它太长而且需要太多的格式化)
我不确定我是否可以帮忙解决这个问题(我认为我对您的设置了解不够多,并且可能缺乏一些必需的知识)——还有很多事情需要解决,这可能是一个 XY 问题。
chatgpt 输出看起来不太正确。我会尝试
/@smtp\.mydomain\.com/i [email protected]
/@smtp\.mydomain2\.com/i [email protected]
上述操作应将所有发往 *@smtp.mydomain.com 的电子邮件发送至[电子邮件保护](将会捕捉到[电子邮件保护]和[电子邮件保护]),对于 mydomain2.com 也同样如此。
这里的正则表达式非常简单 - “/” 字符之间的部分是要搜索的内容。“.”字符专门与“.”匹配,因为正则表达式中的“.”表示“任何字符”,因此要匹配“.”,请在其后面加上“”以将其转义。第一列末尾的“i”表示不区分大小写地进行搜索。第二列是匹配项应转发到的位置。
我省略了 ^(行首)和 $(行尾),这样我的匹配会更松散。我想把它们放进去也没什么坏处。
(我认为 chatgpt 是错误的,因为他们在左侧有括号,这意味着“将其标识为一个术语”,然后他们在右侧使用该术语和 $1 - 因此电子邮件将发送到[电子邮件保护]将重定向至[电子邮件保护]@smtp.mydomain.com)
如果您确实需要某种东西来吸引用户 - 即如果除了您之外还有人需要反弹消息,则以下方法可能会有效 - 但这超出了我在 postfix 中需要做的事情。
/^(.*)@mydomain\.com$/i [email protected]
/^(.*)@mydomain2\.com$/i [email protected]
我认为你对后果想得太多了。路径中的唯一实体与你有关,因此除了 Namecheap 上可能存在的垃圾邮件陷阱之外,你不会发现自己陷入任何垃圾邮件陷阱 - 但无论你如何解决这个问题,风险似乎都是一样的。
考虑检查信封与发件人 - 这可能有点超出我的理解范围,但我想你实际上不想使用信封中的地址,因为它可能是伪造的,而且我认为它可能被用来发送垃圾邮件。