Ste*_*ler 20 email mta cron 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'
Run Code Online (Sandbox Code Playgroud)
但是,在家里,我的 ISP 阻止了直接通过防火墙发送的邮件。我有一个受密码保护的 ssl smtp 服务器,我可以通过它来路由邮件,但是我在弄清楚如何配置 exim4 以使其工作时没有成功。我希望有人能给我一个配置示例,我可以在其中插入主机名、用户名、密码和“使用 ssl”以使其通过单个 smtp 服务器发送邮件。
Ste*_*ler 27
我终于找到了一组由 Tony Scelfo 提供的实际有效的详细说明。看来您必须在端口 587 上使用传输层安全性 (TLS)。我还没有让 SSL SMTP 工作。
首先运行sudo dpkg-reconfigure exim4-config
并使用这些配置选项:
然后运行sudo vi /etc/exim4/passwd.client
并为您的邮件主机及其所有别名(通过 找到nslookup
)添加以下行。将 <email address> 和 <password> 替换为您要通过其路由邮件的帐户):
mail.example.com:<email address>:<password>
mail.yourhosting.provider:<email address>:<password>
Run Code Online (Sandbox Code Playgroud)
编辑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 需要身份验证,您应该将 dc_smarthost 设置为您的 ISP 使用的邮件服务器主机名和端口组合,并将 dc_eximconfig_configtype 设置为“smarthost”,如下所示:
dc_eximconfig_configtype='smarthost'
dc_smarthost='mail.example.com::587'
Run Code Online (Sandbox Code Playgroud)
然后,您可以添加您的凭据,/etc/exim4/passwd.client
如下所示:
mail.example.com:username:password
Run Code Online (Sandbox Code Playgroud)
然后,通过您的 exim4 服务器发送的任何邮件都将通过此邮件主机路由。