如何配置exim4通过受密码保护的ssl smtp邮件服务器发送邮件?
我希望我的cronjobs能够从我的家用电脑发送邮件。 我的服务器像这样配置exim4:
dc_eximconfig_configtype='internet' dc_other_hostnames='' dc_local_interfaces='127.0.0.1' 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='maildir_home'
但是,在家里,我的ISP阻止通过防火墙直接发送的邮件。 我有一个密码保护ssl smtp服务器,我可以通过路由,但我没有成功找出如何配置exim4使这项工作。 我希望有人可以给我一个配置示例,我可以插入主机名,用户名,密码和“使用ssl”来让它通过单个smtp服务器发送邮件。
我终于找到了Tony Scelfo的一套详细说明,实际上是有效的 。 您似乎必须在端口587上使用传输层安全性(TLS)。我还没有使用SSL SMTP工作。
首先运行sudo dpkg-reconfigure exim4-config
并使用以下配置选项:
- 邮件配置的一般类型: smarthost发送的邮件; 通过SMTP或fetchmail接收
- 系统邮件名称: <您的主机名>
- 侦听传入SMTP连接的IP地址: 127.0.0.1
- 接受邮件的其他目的地: <您的主机名>
- 用于中继邮件的机器: <留空<>
- 传出的智能主机的IP地址或主机名: mail.example.com :: 587
- 在外发邮件中隐藏本地邮件名称?
- 是的 – 所有外发邮件似乎都来自您的Gmail帐户
- 否 – 使用有效的发件人姓名标头发送的邮件将保留发件人的姓名
- 保持DNS查询的数量最少(按需拨号)? 没有
- 本地邮件的递送方式: <选择您喜欢的邮件 >
- 将配置文件拆分成小文件? 是(您需要编辑下一个文件)
然后运行sudo vi /etc/exim4/passwd.client
并为您的邮件主机及其拥有的任何别名添加以下行(通过nslookup
找到)。 用您想要路由邮件的帐户替换
mail.example.com:: mail.yourhosting.provider::
编辑passwd.client
文件后,运行sudo update-exim4.conf
,它会将您的更改集成到Exim4配置中。
运行sudo /etc/init.d/exim4 restart
并确保服务停止并正常启动。 如果服务无法重新启动,则在编辑passwd.client
文件时可能会出错。
如果Exim4重新启动,请继续运行sudo tail -f /var/log/exim4/mainlog
以查看邮件日志。 在另一个窗口中,从您的系统发送电子邮件,并确保您看到记录通过R=smarthost T=remote_smtp_smarthost H=gmail-smtp-msa.l.google.com ... X=TLS-1.0:RSA_ARCFOUR_MD5:16
。 X=TLS
意味着邮件正在与传输层安全性一起发送,这是您想要的。
如果您的ISP需要身份validation,则应将dc_smarthost设置为ISP使用的邮件服务器主机名和端口组合,并将dc_eximconfig_configtype设置为“smarthost”,如下所示:
dc_eximconfig_configtype='smarthost' dc_smarthost='mail.example.com::587'
然后,您可以将您的凭据添加到/etc/exim4/passwd.client
如下所示:
mail.example.com:username:password
然后,通过exim4服务器发送的任何邮件都将通过此邮件主机进行路由。
这对我很有用。 更改此文件并发出命令后,我的ISP使用端口25和dc_smarthost='myisp.mail.server:25'
:
-
update-exim4.conf
-
/etc/init.d/exim4 restart
在我通过exim4经典样本进行测试后发送电子邮件,例如:
echo "content of mail body with pt-br chars ação avião língua é essa em 1609." | mail -s "Confirmar 16DOM" my-user-in-isp@my-domain-url
这些流程可以在my-domain-url
中输入my-user
收件箱。