有辦法解, 但是從敘述的內容來看, 推測您大概沒有能力解...
我會這樣做:
- Sendmail 只是負責 port 25 的收發, 所以你查他的 log 沒用
- Linux 系統收發 POP3/IMAP4 是由另外一組軟體套件來負責處理, 這類軟體有很多套, 有可能是 Dovecot, Cyrus, Courier 三者其中之一
- 不管你用哪一種, 我都會先去看一下它們的 Log, 不過, 根據經驗, 他們的 log 沒辦法幫你解決問題, 因為他們的 Log 記錄得太簡單, 只會告訴您「有錯誤!」, 但卻不會說「哪裡有問題?」
- 所以看完 log 若沒有明確原因的話, 就要改用 tcpdump 去看網路傳輸的封包, 在 outlook 讀信的時候, 抓取兩端通訊的 POP3/IMAP 傳輸封包, 解讀看看 Outlook 依序下了甚麼指令? 然後是跑到哪一個指令之後會卡住?
- 根據經驗, 問題通常是 Linux mbox 裡面有某封信的格式壞掉, 造成 Outlook 讀到一半的時候卡住. 這時您可以從 tcpdump 抓到的指令順序, 看到他是卡在哪一封信? (會有編號)
- 然後可以關掉 Outlook, 直接用 telnet 進入 POP3/IMAP4 Port (當然你必須懂得如何發送 POP3/IMAP4 的 Protocol), 登入該用戶的帳號 (您也必須懂得如何用 telnet 下 POP3/IMAP 的登入指令), 然後不要抓信, 直接下 POP/IMAP 指令去 Delete 那個編號的信.
- 砍完信之後, 再回來測試 Outlook 是否恢復正常? 因為後面有可能又卡到另一封壞掉的信 (既然前面會壞, 後面也可能會壞), 你就要重複前面的抓封包過程, 把壞掉的信編號找出來, 手動 telnet 進去砍掉他....重複步驟直到 Outlook 不會卡住為止.
- 如果不幸用 telnet 進去 delete 還砍不動的話, 代表整個 mbox 檔案壞掉, 直接 ssh 進 Linux 系統, 把這個人的 mbox 檔案砍掉 (當然, 這樣以前收進來的信就全部不見了, 但是至少他恢復正常可以繼續收後面進來的新信)
- 做完收工...
以上是一個合格的 Linux 系統管理員, 遇到此問題時的標準查修步驟, 但是裡面需要用到非常多的技能, 包含: tcpdump 操作參數, 擷取之後的封包格式如何解讀, POP3/IMAP Protocol 指令集, Linux 基本操作能力, mbox 目錄結構 (你才會知道要去哪找到這個 User 的 mbox?)..等等, 這些技能要靠你自己修練, 這邊講不完.
假設您發現沒有能力可以處理眼前的問題, 那就看公司認為這個問題值得花多少成本去解決? 花錢請別人處理是最快的. 長期來看, 要不就是逐步把系統更換成您自己可以全盤掌握的架構, 要不就是付費請外部廠商來幫您維護...