2012-04-07

【CentOS】CentOS6.x 下 dovecot pop3 收信設定

CentOS6.x 的 pop3 收信套件 dovecot 在設定上做了一些更動 ----

CentOS5.x 的 dovecot.conf 設定檔是直接置於 /etc/ 下, CentOS6.x 則是在 /etc/ 下新增了 dovecot 目錄, 並且將原 dovecot.conf 各方面設定拆出至 /etc/dovecot/conf.d/ 下的多個子設定檔.

原本在 CentOS5.x 時期, dovecot.conf 的 mail_location 這項設定是被 mark 掉的, 如果您在 CentOS6.x 啟動了 dovecot 這個 service 卻無法收到信, 那麼請檢查 /etc/dovecot/conf.d/10-mail.conf, 會看到有三列被 mark 的設定

#   mail_location = maildir:~/Maildir
#   mail_location = mbox:~/mail:INBOX=/var/mail/%u
#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n

將  mail_location = mbox:~/mail:INBOX=/var/mail/%u 最前的 # 移除, 然後, 再重新啟動 dovecot, 應該就行了.

====================
"事件" 起因

當 初會發現這個狀況, 就是在 webmin 的 "伺服器" --> "讀取使用者信件", 看到信箱內明明有信, 但用 outlook 就是收不到信, 去看 /var/log/maillog 也只看到使用者 登入後立即登出 的 2 行 log 而已, 沒有其他的錯誤, 再嘗試以指令方式取信, 指令如下 ----

telnet   主機ip   pop3
user 使用者名稱
pass 密碼
list (這是列出信件)
quit (離開)

就是下了 list 指令, 卻顯示 0 message (沒有信件), 才發現問題, 猜測可能 dovecot 收信的位置和 postfix 不一樣所造成.

8 則留言:

  1. Sir!! 請問若client無法使用outlook express收下Server的信, 需要調整那個部份呢? 我使用CentOS 6.3 謝謝您!

    回覆刪除
  2. 您可能要先釐清是 server 的問題 或是 收信軟體(Outlook/OutlookExpress) 的問題。

    先確定您 server 防火牆的 POP3 port 有無打開,通常為 110 port。

    從別台電腦,開啟命令視窗(DOS 指令視窗)照上文 telnet 那一段的操作方式看 list 有無列出信件數,若無,則可能如本文的情況,是 dovecot 的設定問題;若有列出信件數,就表示 server 端 dovecot 設定 ok 了,應該朝向檢視 outlook/OutlookExpress 設定。

    回覆刪除
  3. 謝謝您的回覆,現在我可以透過Outlook Express把信從新的mail server收下來,不過要再請教您的是, 我只能使用其中一個帳號透過Outlook Express收發信件, 第二個帳號在按下傳送接收按鈕後,會出現 The connection was intertionally closed by the server before the session was completed. 的錯誤訊息
    但我使用Webmin是可以看到第二個帳號信箱中的信,請問您有遇過這種狀況嗎?感謝您撥空回覆我的疑問,謝謝!!

    回覆刪除
  4. 抱歉, 我沒有用過 outlookexpress 多帳號這個功能...是不是檢查一下無法收信的帳號的收信伺服器設定.

    回覆刪除
  5. 請問前輩

    我剛裝完 fedora 16 使用OE收信時,
    一直問我帳號及密碼;無法收信.
    按取消 OE錯誤訊息為
    ======================
    POP3, 伺服器回應: '-ERR Plaintext authentication disallowed on non-secure (SSL/TLS) connections.', 連接埠: 110, 安全(SSL): 否, 伺服器錯誤: 0x800CCC90, 錯誤碼: 0x800CCC91
    ======================
    但寄信是可以的發信
    很奇怪
    也參考其他文章都只有修改
    mail_location = mbox:~/mail:INBOX=/var/mail/%u

    不知還需檢查哪裡
    請各位前輩幫幫 忙

    謝謝

    回覆刪除
  6. 找你的dovecot.conf
    裡面應該有個
    disable_plaintextble_plaintext_auth
    去設成no

    資料來源:http://www.blueshop.com.tw/board/show.asp?subcde=BRD20110721152606V3M&fumcde=FUM20050110200903ZWZ&odr=cdt&odrtyp=0

    回覆刪除
  7. 請教各位前輩
    這是我的LOG檔
    舊帳號可正常收發信
    但新建帳號無法收信,可寄信
    查LOG出現這個
    我的是CentOS6.3
    謝謝個位

    Mar 26 15:12:49 mail dovecot: pop3-login: Login: user=<111>, method=PLAIN, rip=XXX.XXX.XXX.XXX, lip=XXX.XXX.XXX.XXX, mpid=3088, TLS

    Mar 26 15:12:49 mail dovecot: pop3(111): Error: chown(/home/111/mail/.imap/INBOX, -1, 12(mail)) failed: Operation not permitted (egid=549(111), group based on /var/mail/111)

    Mar 26 15:12:49 mail dovecot: pop3(111): Error: mkdir(/home/111/mail/.imap/INBOX) failed: Operation not permitted

    Mar 26 15:12:49 mail dovecot: pop3(111): Error: Couldn't open INBOX: Internal error occurred. Refer to server log for more information. [2013-03-26 15:12:49]

    Mar 26 15:12:49 mail dovecot: pop3(111): Couldn't open INBOX top=0/0, retr=0/0, del=0/0, size=0

    有試過修改這個
    #vi /etc/dovecot/conf.d/10-mail.conf
    設定值
    mail_privileged_group = mail
    重啟服務
    #service dovecot restart

    一樣還是不行

    回覆刪除
  8. 請問一下:
    我有收到信但是都無法進入user 的信箱,都寄給 root ,這是為什麼

    May 25 19:15:09 aleatoire8 postfix/qmgr[5910]: DDA46C0C6C: from=, size=1640, nrcpt=1 (queue active)
    May 25 19:15:09 aleatoire8 postfix/smtpd[6601]: disconnect from localhost[127.0.0.1]
    May 25 19:15:09 aleatoire8 postfix/local[6605]: DDA46C0C6C: to=, orig_to=, relay=local, delay=0.1, delays=0.06/0.02/0/0.02, dsn=2.0.0, status=sent (delivered to mailbox)

    回覆刪除