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 / 问题 / 803741
Accepted
James Swift
James Swift
Asked: 2016-09-18 09:04:41 +0800 CST2016-09-18 09:04:41 +0800 CST 2016-09-18 09:04:41 +0800 CST

Exim4:接收和转发多个域的电子邮件

  • 772

我正在运行一个 VPS 来托管我客户的网站。他们的电子邮件需求非常有限(基本上他们只想要一个转发到他们的 gmail 帐户的 [email protected] 地址)。我试图设置 exim4(在 ubuntu 16.04 上)来做到这一点,但我只是得到550 Unrouteable address.

Exim 目前可以正常发送邮件。但是我的 /etc/aliases 文件没有区别:

postmaster:                     root
www-data:                       root
root:                           [email protected]
[email protected]:  [email protected]
[email protected]:     [email protected]
[email protected]:                [email protected]

我跑了dpkg-reconfigure exim4,告诉它我想接受的域:

dc_eximconfig_configtype='internet'
dc_other_hostnames='#######.com; ######.com; ####.com;#####.co.uk;'
dc_local_interfaces=''
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'

我发现 exim 的配置令人困惑,并且文档似乎没有帮助。我想以“ubuntu 方式”配置 exim,以便将来的系统更新不会破坏我的设置。

感谢您提供的任何帮助。

exim vps mail-forwarding ubuntu-16.04
  • 4 4 个回答
  • 4802 Views

4 个回答

  • Voted
  1. BillThor
    2016-09-18T13:13:41+08:002016-09-18T13:13:41+08:00

    根据您的描述,您似乎应该将您的服务器配置为客户域的主要 MX。有一些地址可能应该发送给您,例如abuse、和。这些应该由默认文件处理。 postmasterwebmasterhostmaster/etc/aliases

    默认配置仅使用本地部分来查找别名。您将需要专门处理您的客户消息。当您转发到 Gmail 时,您可能希望重新发送邮件而不是转发它。这应该处理 SPF 和 DMARC 问题。

    您是辅助 MX,您需要设置的变量是dc_relay_domains. 这应该是您将接受电子邮件作为辅助 MX 的域列表,由 (':') 分隔。空格是可选的,但使列表更易于阅读。

    该文件的文档可通过命令获得man update-exim4.conf。您可能还想熟悉Exim Mail Transfer Agent文档的规范。

    该命令sudo dpkg-reconfigure exim4-config将提供/etc/exim4/update-exim4.conf.conf. 但是,您可以根据需要手动编辑文件。

    您可能希望将您作为辅助 MX 的域添加到 /etc/exim4/local_rcpt_callout。请阅读文档以验证这是否合适。在您接受邮件后退回您的次要域的邮件可能会产生反向散射垃圾邮件。这可能会将您的服务器列入黑名单。

    默认配置不支持别名文件中的域名。我使用以下内容来提供基于域的别名,尽管您可能不应该为您作为辅助 MX 的域提供别名。

    # 此路由器使用传统的 /etc/aliases 类型文件处理别名。
    #
    #### 注意您必须确保 /etc/exim/virutual/${domain} 文件存在
    ####
    #### 这适用于标准的“名称:目的地”别名格式
    
    # 域别名
    vdomain_aliases:
      debug_print = "R: $local_part@$domain 的 vdomain_aliases"
      驱动程序=重定向
      允许失败
      允许延迟
      域 = dsearch;/etc/exim4/virtual
      数据 = ${lookup{$local_part}lsearch*@{/etc/exim4/virtual/$domain}}
      qualify_preserve_domain
    • 2
  2. Best Answer
    James Swift
    2016-09-21T15:27:52+08:002016-09-21T15:27:52+08:00

    这是@BillThor 答案的摘要,并添加了一些细节:

    步骤1

    编辑/etc/exim4/update-exim4.conf并设置dc_other_hostnames为包括您将为其转发邮件的所有域。(如果您忘记这样做,邮件将被退回)。

    第2步

    创建一个目录/etc/exim4/virtual并为每个域添加一个文件,并准确命名为域名。使用您希望转发的别名填写文件。例如

    # File: /etc/exim4/virtual/example.com
    
    # This will forward [email protected] to [email protected]
    me: [email protected]
    
    # This will forward [email protected] to [email protected]
    postmaster: [email protected]
    

    第 3 步

    创建一个新文件/etc/exim4/conf.d/router/350_local-config_vdomain_aliases,内容如下:

    # This router handles aliasing using traditional /etc/aliases type files.
    #
    #### NB  You must ensure that /etc/exim/virutual/${domain} file exist
    ####
    #### This works with the standard "name : destination" alias format
    
    # Domain aliases
    vdomain_aliases:
      debug_print = "R: vdomain_aliases for $local_part@$domain"
      driver = redirect
      allow_fail
      allow_defer
      domains = dsearch;/etc/exim4/virtual
      data = ${lookup{$local_part}lsearch*@{/etc/exim4/virtual/$domain}}
      qualify_preserve_domain
    

    第4步

    跑:

    update-exim4.conf
    service exim4 restart
    

    感谢您的所有帮助@BillThor

    • 2
  3. user1338062
    2019-02-01T01:49:46+08:002019-02-01T01:49:46+08:00

    其他答案没有错,但我想参考官方exim规范(=documentation):

    https://www.exim.org/exim-html-current/doc/html/spec_html/ch-some_common_configuration_settings.html#SECTvirtualdomains

    这很有可能是未来几年的最新和维护文档。

    • 0
  4. StickySli
    2021-04-04T09:48:21+08:002021-04-04T09:48:21+08:00

    如果您将 exim 作为守护程序运行(因为它在 Debian 软件包的默认设置中),您不应该在 exim 运行时直接调用 update-exim4.conf。对于 SMTP 接收或队列运行,exim 分叉,新进程将使用新的配置文件,而原来的主 exim 守护进程仍将使用旧的配置文件。您应该改用 invoke-rc.d exim4 restart 。

    来源:https ://manpages.debian.org/jessie/exim4-config/update-exim4.conf.8.en.html

    • 0

相关问题

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

  • 将所有(未被拒绝的)垃圾邮件重定向到 sa-exim 中的特殊邮箱

  • 设置 Exim 转发邮件

  • 我可以在 Exchange 2007 的服务器端强制执行邮件规则吗?

  • 用于从多个 IP 地址发送电子邮件的 Linux 电子邮件服务器

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