使用Mutt+Fetchmail+Esmtp在Linux下收发电子邮件问题补遗
mutt+fetchmail+esmtp的文章网上已经有了。王垠的和AMD的文章对我帮助很大!但参照他们的文章仍然会有一些小问题。
首先esmtp的日志问题。按照两文中的设置:
#.muttrc
set sendmail = "/usr/bin/esmtp -v -X ~/.esmtplog"
意思是使用esmtp发送邮件,但这个语句在我的机器上无论如何也不能在我的HOME下产生日志!而且我的邮件还发不出去!后来我把它改成了:
set sendmail = "/usr/bin/esmtp -v -X $HOME/.esmtplog"
这样终于看到了日志。通过日志我发现登陆是成功的!但是还是不能够发邮件。通过日志判断是MAIL FROM居然为空!而我已经设置了my_hdr的内容。通过阅读esmtprc的手册页,和在网上搜索电子邮件协议的资料。我推断my_hdr的内容只能影响到From:的值。而From:位于向服务器传送的DATA部分。所以我将.esmtprc中的相关内容改为:
identity = myself@somewhere.com
hostname = smtp.somewhere.com:25
username = "myself"
password = "secret"
这样终于发送成功了!