CentOS 5 / SendMail 8.14.x
我注意到我的 SendMail 服务器上的邮件过滤器会间歇性地出现错误。以下是邮件日志的摘录(我已编辑主机名、QID、邮件过滤器名称和收件人地址以保护无辜者 :-) ):
Jul 3 4:11:10 FOOBOXHOST foomilter: ABcDEFgHI12345: MAIL FROM:<>
Jul 3 4:11:10 FOOBOXHOST foomilter: ABcDEFgHI12345: msg_size='12345'
Jul 3 4:11:10 foomilter: ABcDEFgHI12345: RCPT TO:<[email protected]>
Jul 3 4:11:11 FOOBOXHOST foomilter: foomilter: mi_stop=1
Jul 3 4:11:11 FOOBOXHOST foomilter: exiting foomilter
Jul 3 4:11:11 FOOBOXHOST sendmail[11111]: ABcDEFgHI12345: Milter (foomilter): write(D) returned -1, expected 6: Broken pipe
Jul 3 4:11:11 FOOBOXHOST sendmail[11111]: ABcDEFgHI12345: Milter (foomilter): to error state
Jul 3 4:11:11 FOOBOXHOST sendmail[11111]: ABcDEFgHI12345: Milter: helo=upstream.fooexample.com, reject=451 4.3.2 Please try again later
Jul 3 4:11:11 FOOBOXHOST sendmail[11111]: ABcDEFgHI12345: Milter (foomilter): write(D) returned -1, expected 86: Broken pipe
Jul 3 4:11:11 FOOBOXHOST sendmail[11111]: ABcDEFgHI12345: Milter (foomilter): to error state
是什么write(D) returned -1, expected 6: Broken pipe
意思?
我觉得这句话特别有趣:
Jul 3 4:11:11 FOOBOXHOST foomilter: foomilter: mi_stop=1
我向 Google 先生询问了这个问题,然后得到了以下信息:http://www.mailshell.com/mail/client/oem2.html/step/sendmailfaq#25 其中有一条关于服务器负载过重的简介,但是当我检查基本邮件日志信息时,我没有看到特别高的数字(每小时几千条消息......分布相当均匀)。
对于这里可能发生什么事情以及如何防止其发生,您有什么想法吗?
答案1
你的邮件过滤器 (milter) 快要坏了,应该检查错误,这就是导致 sendmail 出现管道损坏错误(套接字关闭不当)的原因。