我在Linux上安装了exim4。 基本工作正常,我可以发送电子邮件从任何电子邮件地址没有任何问题。
我也有一个打印机/扫描仪,它能够发送扫描作为电子邮件。 它需要一个SMTP网关才能做到这一点。 所以我给了那个Linux的IP地址,稍微改了一下configuration,但是仍然无法正常工作。
在运行dpkg-reconfigure exim4-config ,这里是我在/etc/exim4/update-exim4.conf.conf得到的:
dc_eximconfig_configtype='internet' dc_other_hostnames='' dc_local_interfaces='127.0.0.1;192.168.2.2' dc_readhost='' dc_relay_domains='mycompanyemail.com' dc_minimaldns='false' dc_relay_nets='192.168.2.0/24' dc_smarthost='' CFILEMODE='644' dc_use_split_config='false' dc_hide_mailname='' dc_mailname_in_oh='true' dc_localdelivery='mail_spool'
我的问题是,使用这种configuration,我只能发送到电子邮件@ mycompanyemail.com …它说我可以使用通配符,但是当我这样做时,'*'被replace为我运行的目录中的任何文件名所有这一切。
我怎样才能configuration它能够发送电子邮件与任何域? 还是我做错了?
编辑:这是造成麻烦的日志的一部分:
2011-08-03 16:28:18 H=(NPI2D389C) [192.168.2.20] F=<[email protected]> rejected RCPT <[email protected]>: relay not permitted
第一部分([email protected])无关紧要。 我改变了电子邮件地址。 重点是,如果这封电子邮件是@ mycompanyemail.com那么一切正常。 别的什么都行不通。 我可以添加gmail.com,但我正在寻找有任何域名的工作…
您正在使用“dc_relay_domains ='mycompanyemail.com'”,这就是为什么您只能发送邮件到您公司的邮件地址的原因。 只有在您需要限制电子邮件传送时才需要configuration此参数,并且需要将其留空以解决您的问题。
实际上,dc_relay_nets是限制中继IP的参数。
干杯
设置dc_relay_domains=''而不是将其设置为* 。 信任dc_relay_nets以限制服务器对本地服务器的使用。
我也有这个 花了我一段时间的数字,但我find的解决scheme很简单。
您有一个智能主机,您可以使用它从本地主机发送电子邮件,该主机也运行Exim4。 出于这个原因,你似乎已经select了正确的dpkg-configure exim4-reconfigure选项。 当你的exim4.conf.conf在dc_relay_domains下显示一个条目。 到现在为止还挺好。
但是,如果该智能主机是一个configuration良好的电子邮件服务器,它仍然只接受自己的域的电子邮件,并返回一个550中继不允许的错误 。 你所描述的情况似乎就是这样。 这是因为智能主机在接收到未识别的SMTP传递尝试时只接受其自己的域的电子邮件。 否则,这将成为垃圾邮件的入口点,即所谓的开放中继。 开放式继电器不好。
使用智能主机,您的本地Exim4需要使用现有的用户帐户和凭证来logging智能主机。 通过这种方式,您的本地Exim4可以将自己标识为智能主机,作为允许用户进行无限制的访问,包括为外部域提供和转发电子邮件。
为了达到这个目的,你需要在智能主机上build立一个用户帐号,然后编辑configuration文件/etc/exim4/passwd.client,添加下列行
mycompanyemail.com:[user]:[password]
这应该做的工作。 只要确保smarthost URL是相同的,或者匹配exim4.conf.conf中的dc_relay_domains条目。 (允许通配符string)不要忘记chmod 640 passwd.client,因为它包含以明文forms显示的用户凭据。