从 Debian 8.0“Jessie”开始,Exim 的最低设置即可开箱即用地接收邮件

从 Debian 8.0“Jessie”开始,Exim 的最低设置即可开箱即用地接收邮件

我正在寻找一个简单的建议,应该从本质上(最低限度地)做些什么才能使默认的 Debian 8 Jessieexim4-daemon-heavy安装真正接收任何邮件。

说到安装软件包后的必要操作,我的意思是MX通过以下方式设置记录并进行初始配置dpkg-reconfigure exim4-config

  1. 类型:互联网网站
  2. 系统邮件名称:示例网站
  3. 监听传入 SMTP 的 IP:空的
  4. 其他目的地:空的
  5. 要中继的域:空的
  6. 要中继的机器:空的
  7. DNS 查询最少:
  8. 运输方式:Maildir 格式
  9. 分割配置:是的

这显然会生成这样的/etc/exim4/update-exim4.conf.conf文件:

dc_eximconfig_configtype='internet'
dc_other_hostnames=''
dc_local_interfaces=''
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'

最后的操作是设置/etc/mailnameexample.org

上述所有内容足以让 Exim 发送电子邮件,但如果有人试图向您发送电子邮件,您将收到这个烦人的relay not permitted错误:

H=example.net [192.0.2.1] F=<[email protected]> rejected RCPT <[email protected]>: relay not permitted

这种行为很典型,上次我设置 Exim(Debian 7 Wheezy)时,花了很多时间设置这个那个,最后终于成功了。我不想 rsync 旧配置,我只是想知道哪些设置允许 Exim 接收电子邮件

有兴趣的可以参考 Exim 版本:

me@jessie:~$ exim -bV
Exim version 4.84 #2 built 17-Feb-2015 17:45:46
Copyright (c) University of Cambridge, 1995 - 2014
(c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2014
Berkeley DB: Berkeley DB 5.3.28: (September  9, 2013)
Support for: crypteq iconv() IPv6 PAM Perl Expand_dlfunc GnuTLS move_frozen_messages Content_Scanning DKIM Old_Demime PRDR OCSP
Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch ldap ldapdn ldapm mysql nis nis0 passwd pgsql sqlite
Authenticators: cram_md5 cyrus_sasl dovecot plaintext spa
Routers: accept dnslookup ipliteral iplookup manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
Configuration file is /var/lib/exim4/config.autogenerated

答案1

好吧,我进行了彻底的检查diff,发现这些设置可以使 Exim 接收电子邮件:

  1. /etc/exim4/conf.d/main/01_exim4-config_listmacrosdefs

    注释掉或删除此块(第 64-66 行):

    .ifdef MAIN_LOCAL_INTERFACES
    local_interfaces = MAIN_LOCAL_INTERFACES
    .endif
    

    并将其放置在以下位置(请注意地址和端口之间的点,这不是打字错误):

    local_interfaces = 0.0.0.0.25
    
  2. /etc/exim4/conf.d/main/02_exim4-config_options

    注释掉或者删除此块(第 90-92 行):

    .ifdef MAIN_HARDCODE_PRIMARY_HOSTNAME
    primary_hostname = MAIN_HARDCODE_PRIMARY_HOSTNAME
    .endif
    

    并将其放置在以下位置(当然使用您的真实主机名):

    primary_hostname = example.org
    

我不确定哪个设置可以解决问题,也许两者都可以。奇怪的是,当我尝试恢复行为并放弃我的编辑时,Exim 并没有停止接收邮件。可能它从这些配置中学到了一些有用的东西(已设置变量)。

相关内容