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 / 问题 / 929470
Accepted
user236012
user236012
Asked: 2018-09-05 15:49:10 +0800 CST2018-09-05 15:49:10 +0800 CST 2018-09-05 15:49:10 +0800 CST

后缀仅限制某些发件人地址(“MAIL FROM:”)的邮件中继

  • 772

我想将后缀配置为仅中继来自某些发件人地址的邮件。Postfix 应根据发件人的地址(“MAIL FROM:”)将邮件中继到不同的中继主机(/smarthosts)(Gmail、AOL、...)。

到目前为止,我当前的配置如下:

  • 用户通常在邮件中继的 postfix 上进行身份验证。如果他们无法进行身份验证,则无法进行中继。请注意,此身份验证与中继主机的身份验证不同。

  • 根据发件人的地址(“MAIL FROM:”),选择某个中继主机(smtp_sender_dependent_authentication, sender_dependent_relayhost_maps, smtp_sasl_password_maps)。这也很好用。

  • 但是,如果用户可以进行身份​​验证,并且有一个未包含在 中的发件人地址sender_dependent_relayhost_maps,则 postfix 会尝试直接中继邮件 - 由于 IP 地址限制(黑名单),这通常不起作用。


我现在的问题是:如何拒绝直接转发的邮件(没有智能主机),即发件人的地址未列在sender_dependent_relayhost_maps哪里?任何提示如何实现这一目标?

postfix
  • 1 1 个回答
  • 2279 Views

1 个回答

  • Voted
  1. Best Answer
    Esa Jokinen
    2018-09-06T00:21:51+08:002018-09-06T00:21:51+08:00

    之前 你需要一些限制性测试permit_sasl_authenticated。这样做的先决条件是将 smtpd on port25用于传入邮件,另一个 smtpd 用于在 port 上提交587。否则,此限制将导致传入的邮件被拒绝,因为它不会通过测试。然后,permit_sasl_authenticated从端口中25完全删除 ,并将测试添加到您的提交配置中master.cf。

    • 从字面上回答您的问题,check_sender_access将是一个合适的测试,将列出的所有域列入白名单sender_dependent_relayhost_maps并拒绝其余的邮件。

      check_sender_access type:table

      在指定的access(5)数据库中搜索MAIL FROM地址、域、父域或localpart@,并执行相应的操作。

      这可以添加到smtpd_sender_restrictions或smtpd_recipient_restrictions。

    • 什么会做同样的事情,但进一步阻止用户使用彼此的地址正在使用reject_sender_login_mismatch. 这需要一个额外的smtpd_sender_login_maps表,但如果您的virtual_alias_maps条目已经形成为[email protected] username,您可以使用相同的文件,并且每当您使用 更新虚拟别名数据库时,允许的发件人地址都会自动更新postmap。此类提交配置的示例master.cf:

      submission inet n - - - - smtpd
      # Other parameters
        -o smtpd_sender_login_maps=hash:/etc/postfix/virtual
        -o smtpd_sender_restrictions=reject_sender_login_mismatch
        -o smtpd_client_restrictions=permit_sasl_authenticated,reject
      # Other parameters
      
    • 1

相关问题

  • 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