从Debian 8.0“Jessie”中设置的Exim最小化,可以用来接收邮件

我正在寻找一个简单的build议,应该基本上(最低限度)做一个默认的Debian 8 Jessie的exim4-daemon-heavy安装实际上接收任何邮件。

说到安装软件包后的基本操作,我的意思是设置MXlogging并通过dpkg-reconfigure exim4-config进行初始configuration:

  1. types: 互联网网站
  2. 系统邮件名称: example.org
  3. 侦听传入SMTP的IP:
  4. 其他目的地:
  5. 要传递的域: 空的
  6. 机器继电器: 空的
  7. DNS查询最less:
  8. 交货方式: Maildir格式
  9. 分割configuration: 是的

这显然产生了这样的/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/mailname设置为example.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's),我花了很多时间设置这个,最后它工作。 我不想rsync老configuration,我只是想知道什么设置使得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 

那么,我已经做了一个彻底的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没有停止收到邮件。 可能它从这些configuration中学到了一些有用的东西(已经设置了variables)。