我正在寻找一个简单的建议,应该从本质上(最低限度地)做些什么才能使默认的 Debian 8 Jessieexim4-daemon-heavy
安装真正接收任何邮件。
说到安装软件包后的必要操作,我的意思是MX
通过以下方式设置记录并进行初始配置dpkg-reconfigure exim4-config
:
- 类型:互联网网站
- 系统邮件名称:示例网站
- 监听传入 SMTP 的 IP:空的
- 其他目的地:空的
- 要中继的域:空的
- 要中继的机器:空的
- DNS 查询最少:不
- 运输方式:Maildir 格式
- 分割配置:是的
这显然会生成这样的/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)时,花了很多时间设置这个那个,最后终于成功了。我不想 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 接收电子邮件:
/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
/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 并没有停止接收邮件。可能它从这些配置中学到了一些有用的东西(已设置变量)。