一般来说 Ubuntu 桌面环境安装好就已经将 exim4 安装在里面了,只不过默认上是使用
“只传送本机的邮件;并未位于网络上”,如果要改用 Gmail 就要执行以下的指令。
$ sudo dpkg-reconfigure exim4-config
然后选择“使用 smarthost 来传送邮件;且无本机邮件”
http://bit.ly/VzCWJO
接下来的“系统邮件名称 (mail name)”填入“localhost”
http://bit.ly/VzCYS5
“在有 SMTP 连线传入时,要进行监听的 IP 位址”维持“127.0.0.1 ; ::1”
http://bit.ly/VzD1ND
“要进行接收的其它邮件位址”填入空白
http://bit.ly/VzD38g
“本机使用者的虚拟网域名称”维持“localhost”
http://bit.ly/VzD5Nw
“外寄邮件时所使用的 smarthost 的 IP 位址或主机名称”填入“smtp.gmail.com::587
”
http://bit.ly/VzD6kr
之后都用默认值,直到结束。
接下来使用以下指令来找出 Gmail 的 smtp 服务器。
ubuntu@trusty:~$ host smtp.gmail.com
smtp.gmail.com is an alias for gmail-smtp-msa.l.google.com.
gmail-smtp-msa.l.google.com has address 74.125.25.108
gmail-smtp-msa.l.google.com has address 74.125.25.109
gmail-smtp-msa.l.google.com has IPv6 address 2607:f8b0:400e:c02::6d
然后就可以编辑 /etc/exim4/passwd.client 这个档案,加入以下这行。
*.google.com:SMTPAccountName@gmail.com:y0uRpaSsw0RD
然后编辑一下 /etc/email-addresses 将自己本机上的帐号跟 Gmail 关联起来。
$ echo "$(whoami): SMTPAccountName@gmail.com" | sudo tee -a /etc/email-addresses
最后再用以下指令,重新启动 exim4 应该就可以寄信出去了。
$ sudo service exim4 restart
可以使用下面这个指令的寄给自己测试一下。
$ echo "This is a test mail." | mail -s "test mail" SMTPAccountName@gmail.com
P.S. 上面提到的 SMTPAccountName 请改成自己的帐号,y0uRpaSsw0RD 密码可以到
https://security.google.com/settings/security/apppasswords 上面产生取得。
参考资料:https://wiki.debian.org/GmailAndExim4