Linux

如何獲取 Dovecot IMAP 使用者列表

  • September 26, 2012

您如何獲得通過 IMAP(而不是 POP)連接的 dovecot 電子郵件伺服器的使用者列表?

我們的伺服器設置為通過 LDAP/PAM 進行身份驗證。有沒有一種簡單的方法可以獲取通過 IMAP 而不是 POP 訪問郵件的使用者列表?我即將將我們的伺服器遷移到 Google Apps,並且只想為我的 IMAP 使用者遷移所有郵件(幾百個使用者中的幾百個)。POP郵件顯然會與客戶端分開遷移。

我寧願只遷移 IMAP 使用者而不是整個域,這將包括遷移留在伺服器中的一堆 POP 郵件,這些郵件已經在客戶端的電子郵件程序中讀取/排序/刪除。遷移所有多餘無用的剩餘 POP 郵件可能會浪費數週的遷移時間。

我想解析一些日誌以查看誰連接了 IMAP 埠(995 或 993)會給我一個列表,如果有人可以幫助我這樣做的話。我知道我有原始的鴿舍原木,但我希望有一個更清潔的解決方案。

要獲取登錄列表:

cat /var/log/mail.log | grep imap-login 

現在我們需要將其縮減為更有用的東西——過濾掉使用者名,並消除重複項:

cat /var/log/mail.log | grep imap-login:\ Login | sed -e 's/.*Login: user=<\(.*\)>, method=.*/\1/g' | sort | uniq

這將獲取完成的 imap 登錄(提供名稱),使用 sed 和正則表達式來刪除名稱,對其進行排序,然後獲取唯一名稱。

引用自:https://serverfault.com/questions/425196