一旦收到 STARTTLS,Sendmail 程序就會崩潰
我剛剛將我的伺服器從 FreeBSD 10.3 升級到 11.1。它現在在 2017 年 1 月 26 日執行 Sendmail 8.15.2 和 OpenSSL 1.0.2k-freebsd。
自升級以來,向我的伺服器發送郵件失敗。我提高了日誌級別以顯示所有傳入和傳出的 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
,沒有返回任何不到一年的核心文件。如果有一個 sendmail 實例在嘗試發送每封郵件時崩潰,我本來希望找到一個不超過幾分鐘的郵件。什麼可能會阻止創建文件?pkg.core``pkg-static.core``find / -name "*.core" -ls``.core
我在 DutchDaemon 的 2017 年 12 月 12 日回復中找到了答案,在 FreeBSD 論壇上的[sendmail] 許多“未發出 MAIL/EXPN/VRFY/ETRN”日誌執行緒中:
標準安裝會在您的 .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 論壇上觀察到的那樣,奇怪的是它實際上崩潰了,我原以為它會在您嘗試使用它時產生失敗消息並拒絕執行,而不是啟動和段錯誤。