登入您的郵件伺服器時發生錯誤。您的密碼被拒絕。 帳戶: 'HQIC', 伺服器: '192.168.0.150',
通訊協定: POP3, 伺服器回應: '-ERR Unable to process From lines (envelopes), change recognition modes.', 連接埠: 110, 安全(SSL): 否, 伺服器錯誤: 0x800CCC90,
錯誤碼: 0x800CCC92

 查詢之後發現

之前不能收信的原因應該就是這樣了

/usr/local/bin/formail +1 -ds < HQIC.old >> HQIC

現在是找不到formail這個指令

似乎好像是Procmail的指令

現在已經在酷學網發問囉!

解答是:mail +1 -ds < XXXX.old >> XXXX


From-->http://www.cc.nctu.edu.tw/faq/pop.htm


Q1:以下錯誤訊息, 一再出現,請問這到底是什麼問題? 該如何解決 ?
ERR Unable to process From lines (envelopes), change recognition modes.

A: 上面的訊息顯示, 這位用戶的 system mail folder 的第一封 e-mail 已經損壞.
   * 可能成因很多, 包括網路突然斷線, 或用戶端電腦當機等.

解決方法:
  用戶只要將系統信箱前面的損壞部分刪除, 其餘的 mail 就可正常讀出來.

  請按下列步驟進行:


  1. 切換到信箱所在目錄 
       % cd /var/mail;  (or /var/spool/mail)
  2. 將有問題的信箱, 改名 (假設 為 u8423813)
       % mv u8423813   u8423813.OLD
  3. 將第一封有問題的mail 移除
       %  /usr/local/bin/formail +1 -ds < u8423813.OLD >> u8423813
  4. 測試一下, 是否已經恢復正常
  5. 測試正常後, 請刪除該有問題的備份, 以騰出可用的硬碟空間
       %  rm u8423813.OLD


Note: system mail folder (/var/mail/帳號)
       e.g. 隨機器不同, 略有小差異.
          a)  /var/mail/u8423813, ...
          b)  /usr/spool/mail/u8423813, ...

細節補充說明如後:
=================

由於 POP server(收信到 PC 端) 和 SMTP server(負責接收remote site 來信),
兩者都會修改 mail folder 的內容. 因此, 兩者運作時需要小心配合.

POP server 程式在運作時, 會先將 system mail folder 內容, copy 一份到一個
臨時的 maildrop 處 (例如 /tmp/帳號), 然後user 程式再經由網路下載該份
mail copy 到 PC 端. (這一些過程進行中, 新的 mail 隨時可能被送進來.)

- 通常, 如果用戶選擇, 下載完成後將 server 端 mail folder 清空, 一切正常
  的話, POP server 程式會接著將原先的 system mail folder 移除.

- 另一方面, 如果用戶只是移除部分的 mail, 其他的 mail 仍繼續保留在 server,
  則 POP server 程式接著會將剩下的 mail folder 回存, 蓋掉目前 system mail
  folder. ( 當然如果後來有新的 mail 近來, 會被整合進去)

正常情況下, 這一部份應該沒有問題. 但是如果, client 端程式沒有完成前述的動作,
突然斷線 (如 PC 當機), 或很快的按 stop, 或 server 程式 crash 等. 以致造成
回存的 mail folder 的格式不對, 這樣一來下一次連線就會出問題.

基本上, E-mail 是固定格式的 text file組成.
* 分成 header(先)和 body(後)兩部分. 而 header 和 body 間, 至少有一空白行.
* 每篇 E-mail 的開端, 第一行會是一個 From 開頭.

上面的錯誤訊息意思, 就是從頭開始(第一篇), 就找不到 From 這個 keyword, 所
以就可以判斷, 這是一封不完整的 mail.

兩個 key point:
===============
* 因為 POP server 程式還不夠聰明, 不知道第一行往下幾行開始, 才會是另一個
  完整的 mail, 所以不知道要 ignore 多少行.

所以, 這種時候, 就需要人工介入處理.

user 可以自行透過 Unix 系統上的編輯程式, 如 vi, joe 等編輯程式, 將前面
這一堆已經無意義的東西刪除, 剩下的 e-mail 仍可以繼續用 POP 程式讀出.

如果用戶不明瞭, 或不熟悉上述處理流程, 可以洽計中櫃檯處理.

* 基本上,對於這種情況, 計中工作同仁能做的和普通用戶相同, 也就是
  將第一封不完整的 e-mail 由人工刪除.

--
Joe. C.S.Chen, cschen@nctu.edu.tw
* Computer Center of National Chiao Tung University, Hsinchu, Taiwan.