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 / 问题 / 595065
Accepted
Alexander
Alexander
Asked: 2014-05-15 06:07:17 +0800 CST2014-05-15 06:07:17 +0800 CST 2014-05-15 06:07:17 +0800 CST

两个 Exim 服务器和重定向

  • 772

我试图解决的问题有点模糊,所以我需要向您寻求帮助。

我们的用户分布在两个相距很远的大楼里,所以我们设置了两个独立的邮件服务器,每个服务器都为其大楼提供邮件。主要目的是在连接丢失的情况下,即使外部邮件暂时不可用,用户也可以在自己的建筑物内给他们的同事发邮件。每个建筑物都使用自己的邮件域。设置很简单,工作正常。

出于打击垃圾邮件的目的以及出于管理目的,我们在每台服务器上都有相同的(整个)用户表,但每个框都标记为“B1”或“B2”以指示给定用户所在的建筑物。我们曾经将邮箱表和重定向表存储在 SQL 表中,因此通过在 exim 配置行中添加“WHERE which_server='B1'”条件来区分它们是没有问题的。

当我们谈到重定向/别名时,出乎意料的是邮件重复。这是示例:

假设1 号楼的用户user1使用邮箱user1@b1.domain.com ,而2号楼的用户user2使用邮箱 user2@b2.domain.com 。到目前为止没问题,他们可以互相发送邮件,外部用户也可以通过邮件联系他们。

现在让我们假设我们在每个邮件服务器上添加一些重定向。这么说:

user2@b2.domain.com -> user2@b2.domain.com, user3@b2.domain.com, foobar@gmail.com

现在,当来自 user1@b1.domain.com 的邮件发送到 user2@b2.domain.com 时,server1 上的邮件服务器将复制三个副本并作为三个单独的消息进一步发送(两个 g 将发送到 b2.domain.com 的服务器,一个将转到 Gmail 的服务器)。现在,当这些消息到达 b2.domain.com 的服务器时,它将再次进行重定向(使用它自己的 SQL 表),从而复制消息。

我觉得我想念一些优雅的方法来解决这个问题,所以请你指出正确的方法吗?

提前致谢!

email
  • 2 2 个回答
  • 168 Views

2 个回答

  • Voted
  1. Best Answer
    Todd Lyons
    2014-05-17T05:58:42+08:002014-05-17T05:58:42+08:00

    在分析别名表扩展时,您确实有一个没有使用的强大指标:电子邮件是来自外部世界,还是来自其他建筑物(一个或多个主机名或 IP)。如果问题是 B1 中的别名扩展在从 B2 发送时以重复的方式失败,那么如果源是 B2,则跳过别名扩展。在 ACL 中,这将通过 来完成hosts = !+B2,但是在您的情况下,路由器是您需要做出此决定的地方。为此,我将在连接 ACL 或邮件 ACL 中设置:

    warn hosts = +B2
         set acl_c_other_building = 1
    

    然后在别名路由器中,您可以添加条件,如果它来自其他建筑物,则返回 false/no:

    condition = ${if eq{$acl_c_other_building}{1} {no}{yes}}
    

    有了这个逻辑,下面的路由器大概就是那些处理邮箱传递并将在本地传递该消息的路由器。

    如果它按预期工作,请在另一栋建筑物中执行相反的操作。

    • 2
  2. Gryphius
    2014-05-15T06:31:08+08:002014-05-15T06:31:08+08:00

    您的主要问题似乎是邮件环境不一致。一方面,您将两台服务器视为相同的内部服务器(相同的别名规则),另一方面,它们只对一个域负责,这使得它们像任何其他远程邮件服务器一样相互对待,因此重定向重复必然会发生.

    与其尝试在 MTA 路由级别处理这种分布式设置,我建议您为两台服务器提供相同的域配置,这意味着让两台服务器都将您的域都视为本地并传送到本地邮箱,然后在这些邮箱之间复制这些邮箱服务器,例如使用 dovecot 的主-主复制

    • 0

相关问题

  • 如何绕过 ISP 的限制性电子邮件政策?

  • SharePoint 传入电子邮件出现“未知别名”错误

  • 电子邮件帐户的角色名称与人名

  • 如何在笔记本电脑上使用 Tobit David?[关闭]

  • 随行人员通过 VPN 连接到 Exchange 2007

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