[Mutt]用msmtp替代esmtp作发信代理

Saturday, January 12th, 2008

刚开始使用mutt的时候,由于也没有什么经验,在MDA选择方面抓了一个esmtp就用上了。说实话,esmtp也一直工作的很好,就是发信的时候需要傻傻等着(参见muttrc的sendmail_wait参数),如果不等待也可以,发送失败你就不知道了。虽然失败的情况比较少,一般都是邮件比较大或者网络不太好的情况才会发生,但我们外发的邮件往往都是比较重要的,真想有一种能够自动重试的发信代理,于是就查到了msmtp。 msmtp和esmtp两个软件作者都不多,但msmtp确实更新频繁一些,而esmtp作者说现在已经不需要怎么添加功能了,只是维护bug。在多账户配置方面,好像msmtp的配置方法要“聪明”一些,账号规则有一些”继承”的小把戏。在发信队列方面,esmtp在Features中明显声明不支持,而msmtp有一个msmtpqueue,国内用的人非常少,只看到cu blog上提到了一点,smtpqueue能够把要外发的邮件集中在一起,单独发送,但没有说失败处理的事情;再到msmtp在sf.net上的cvs中查msmtpqueue的README文件,终于搞清楚了,和我的需要比较吻合。 msmtpqueue会”冒充”成一个MDA,当mutt发信时,它接收外发邮件并返回成功信息,而实际上只是把信件保存在QUEUEDIR里了,当调用msmtp-runqueue.sh的时候,再进行实际的发送处理。发送成功一封信,就会从QUEUEDIR中删除,发送失败就继续保持不动,下次再调用msmtp-runqueue.sh的时候自然又会处理(相当于重发)了。比起mutt中的邮件失败重发还会多生成一个邮件副本(我设定了发信的同时record在当前目录)应该是好多了。 Mails sent successfully will be deleted from the queue directory.

......[阅读全文]

Tags: , , ,

Message rejected for Sector 5 policy reasons

Saturday, February 3rd, 2007

用邮件订阅了一些google groups讨论组,发现有些文章值得保存的话,我会用mail forward转发到自己的另外一个讨论组,这样便于以后查找,可有些邮件在转发的时候会失败,gmail会返回一封“Delivery Status Notification (Failure)”发送失败的邮件,内容如下:

This is an automatically generated Delivery Status Notification Delivery to the following recipient failed permanently:

......[阅读全文]

Tags: , , , ,

让phpmailer支持中文名称的附件

Tuesday, May 23rd, 2006

phpmailer设置使用utf-8编码发送邮件以后,已经能够正常的发送中文邮件了,当然你调用时传进去的中文参数必须也是utf-8编码才行,但是我发现,即使这样,发送中文文件名的附件的时候,附件名称不能正确的显示。 比如我们要发送的附件是“测试.txt”,如果在添加附件的时候强制使用指定文件名的方式:

$mail->AddAttachment($attach, $attach);

......[阅读全文]

Tags: , , , , ,

终于能够通过phpmailer使用gmail账号发送邮件了

Friday, April 14th, 2006

phpmailer(现在的版本是1.73)是一个很好用的工具,可以很方便的使用php语言发送邮件,支持smtp及验证,我们一直都用它。 但是,由于gmail的smtp采用了ssl连接:

Outgoing Mail (SMTP) Server - requires TLS: smtp.gmail.com (use authentication)

......[阅读全文]

Tags: , , , , ,