AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 997177
Accepted
func0der
func0der
Asked: 2019-12-31 16:10:25 +0800 CST2019-12-31 16:10:25 +0800 CST 2019-12-31 16:10:25 +0800 CST

如何允许后缀解析带有百分号的收件人地址?

  • 772

我正在将邮件发送到 Postfix 邮件服务器。

  • 该邮件的地址如下else%[email protected]:(它基本上是 的 url 编码版本[email protected],应该是 RFC 有效的。)
  • 发件人的邮件服务器被告知要处理此消息:NOQUEUE: reject: RCPT from randostring.outbound.protection.outlook.com[...]: 454 4.7.1 <else%[email protected]>: Relay access denied; from=<[email protected]> to=<else%[email protected]> proto=ESMTP helo=<morerando.outbound.protection.outlook.com>
  • 日志告诉我:generic_checks: name=defer_unauth_destination status=2,我认为这是这里的问题。
  • 我有一个 MySQL 查找,$virtual_alias_domains在上面的日志消息创建期间不会被查询。我认为它可能会被缓存一段时间,但我在这里可能完全错了。

我试过的:

  • 禁用/启用allow_percent_hack以查看是否是原因,我被拒绝了。两种设置都没有变化。
  • 试图将 '%' 更改recipient_delimiter为 '%',但这并没有改变任何东西。

我的问题:如何强制 postfix 发送这封电子邮件?我真的不需要永久的解决方案,因为我认为这是一个边缘案例。

加分,如果你能向我解释一下,为什么一开始没有收到这封电子邮件,因为我真的很想知道为什么会这样。:)


编辑#1:

我发现工作消息和非工作消息的标志有所不同。

  • 传递的消息:Flag: 1024
  • 未送达消息:Flag: 1026

通过查看源代码中的不同位置(标志定义: https ://github.com/vdukhovni/postfix/blob/bfff4380a3b6fac2513c73531ee3a79212c08660/postfix/src/global/resolve_clnt.h#L36-L37和标志用法: https:// github.com/vdukhovni/postfix/blob/ed3f86da7c3e15cf1ec57241c1f6036d82b790da/postfix/src/trivial-rewrite/resolve.c#L467-L468),我发现,只要电子邮件地址中有另一个@, !, 或%一个routed标志,然后稍后处理。

我还没有发现的是,我怎么能

a) 防止这种情况发生

或者

b) 一起破解一些东西,以将他“返回”到我的服务器。

postfix
  • 1 1 个回答
  • 403 Views

1 个回答

  • Voted
  1. Best Answer
    fjarlq
    2020-01-09T03:14:44+08:002020-01-09T03:14:44+08:00

    这两个设置的组合可以解决问题:

    allow_percent_hack = no
    allow_untrusted_routing = yes
    

    但小心点!Postfix 文档警告在覆盖allow_untrusted_routing.

    如果没有这些设置,Postfix 拒绝这种目标地址,因为默认设置allow_percent_hack = yes告诉 Postfix 支持被称为“所谓的 %-hack”的过时源路由机制,如RFC 1711 的第 7 节所述,而默认设置allow_untrusted_routing = no告诉用于拒绝来自不受信任客户端的源路由的后缀。

    换句话说,Postfix 默认拒绝这种目的地,因为它认为意味着“通过方式else%[email protected]传递”,但由于垃圾邮件发送者,只允许受信任的客户端这样做。else@2bsomethingdomain.com

    • 5

相关问题

  • Postfix 在特定端口上接受邮件

  • 让 Postfix 以两种方式处理垃圾邮件

  • Postfix 或 exim:自动/程序化和转发电子邮件设置

  • 后缀电子邮件地址

  • 什么是最好的开源电子邮件解决方案包

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve