一旦收到 STARTTLS,Sendmail 进程就会崩溃

一旦收到 STARTTLS,Sendmail 进程就会崩溃

我刚刚将服务器从 FreeBSD 10.3 升级到 11.1。它现在运行的是 Sendmail 8.15.2 和 OpenSSL 1.0.2k-freebsd 2017 年 1 月 26 日。

自升级以来,发送邮件我的服务器出现故障。我提高了日志级别,以使用 显示所有传入和传出的 SMTP 命令/usr/sbin/sendmail -d95.99 -bD -X /tmp/test.log。典型的传入连接如下所示:

34431 >>> 220 localhost.FKEinternet.net ESMTP Sendmail 8.15.2/8.15.2; Thu, 8 Mar 2018 11:35:32 -0500 (EST)
34431 <<< EHLO [192.168.14.73]
34431 >>> 250-localhost.FKEinternet.net Hello rrcs-184-74-100-26.nys.biz.rr.com [184.74.100.26], pleased to meet you
34431 >>> 250-ENHANCEDSTATUSCODES
34431 >>> 250-PIPELINING
34431 >>> 250-8BITMIME
34431 >>> 250-SIZE
34431 >>> 250-DSN
34431 >>> 250-ETRN
34431 >>> 250-STARTTLS
34431 >>> 250-DELIVERBY
34431 >>> 250 HELP
34431 <<< STARTTLS

/var/log/messages发现

Mar  8 11:35:32 Dreamer kernel: pid 34431 (sendmail), uid 0: exited on signal 11

是否有崩溃日志可供我查看,以便查明发生了什么?我还能做什么来调试此问题?


编辑

除了两天前服务器升级期间创建的 和 实例外,sh.core没有pkg.core返回任何不到一年的核心文件。当 sendmail 实例崩溃时pkg-static.corefind / -name "*.core" -ls每一个尝试发送一封邮件时,我本以为会找到一封不超过几分钟的邮件。什么可能会阻止.core创建文件?

答案1

我在 DutchDaemon 于 2017 年 12 月 12 日的回复中找到了答案[sendmail] 大量“未发出 MAIL/EXPN/VRFY/ETRN”日志FreeBSD 论坛上的帖子:

标准安装将把类似这样的内容放入你的 .mc 文件中:

dnl Enable STARTTLS for receiving email.
define(`CERT_DIR', `/etc/mail/certs')dnl
define(`confSERVER_CERT', `CERT_DIR/host.cert')dnl
define(`confSERVER_KEY', `CERT_DIR/host.key')dnl
define(`confCLIENT_CERT', `CERT_DIR/host.cert')dnl
define(`confCLIENT_KEY', `CERT_DIR/host.key')dnl
define(`confCACERT', `CERT_DIR/cacert.pem')dnl
define(`confCACERT_PATH', `CERT_DIR')dnl
define(`confDH_PARAMETERS', `CERT_DIR/dh.param')dnl

我将该代码块与服务器文件中的内容进行了比较.mc,发现它缺少define('confDH_PARAMETERS','CERT_DIR/dh.param')dnl行。我添加了该行,sendmail然后重新启动,现在它可以正常工作了。

我仍然想知道为什么从来没有.core生成任何文件,正如 SirDice 在 FreeBSD 论坛上观察到的那样,

奇怪的是它居然崩溃了,我本来以为它会生成一个失败消息并拒绝运行,而不是启动,并且在您尝试使用它时出现段错误。

相关内容