Dovecot

Dovecot - 加號登錄郵箱名稱

  • January 11, 2016

我有一個用於 SMTP 的 Postfix 和用於郵件儲存的 Dovecot 的郵件伺服器(郵箱儲存在 MySQL db 中)。其中一位使用者創建了帶有加號的郵箱,如下所示:

peter+bob@example.com

Dovecot 似乎沒有像往常一樣處理該郵箱名稱。當我嘗試使用 doveadm 查找該郵箱時,它失敗了

# doveadm user peter+bob@example.com
field   valueuserdb lookup: user peter+bob@example.com doesn't exist

另一方面,當我使用萬用字元進行查找時,它會顯示:

# doveadm user 'peter*bob@example.com'
peter+bob@example.com
# doveadm user '*@example.com'
peter@example.com
(...)
peter+bob@example.com

無論如何 - 帶有加號的郵箱無法使用,您無法登錄。

當郵件發送到該郵箱時 - Postfix 將其視為任何其他郵件,因此它將其轉發到 Dovecot(在我的情況下通過 LMTP)到郵箱 peter+bob@example.com。但是 Dovecot 試圖將其發送到 peter@example.com(忽略以加號開頭的所有內容)。

似乎 Dovecot 正在處理 Gmail 或其他郵件伺服器等加號:

https://notfaq.wordpress.com/2006/07/20/plus-sign-in-email-addresses/ http://gmailblog.blogspot.cz/2008/03/2-hidden-ways-to-get-more-from-your.html

我的問題是:

  1. Dovecot 真的像我描述的那樣以特殊的方式對待加號,還是這是某種不當行為?我搜尋了 Dovecot 文件並沒有找到任何東西,我在搜尋網路時也沒有找到任何有用的東西。
  2. 如果這是一項功能,是否可以禁用它(因此“+”號不會被特別對待)?

mailbox+aextension@example.com傳遞給的功能mailbox@example.com稱為*“子定址”* 或*“加定址” ,在*Wikipedia上有很好的描述。

高級使用者發現它非常有用,如果您已經擁有大量現有使用者群,您可能會在禁用它時三思而後行,因為禁用它可能會破壞比它修復的更多。恕我直言,您應該修補您的郵箱配置前端以使用 a 來拒絕郵箱名稱+

在後綴子定址中配置了recipient_delimiter,只需刪除該指令,子定址將被禁用。

正如我已經提到的,子定址非常有用,您可能想研究 Dovecot 目前如何處理子定址,因為手冊提供了不同的選項。

以下內容會將郵件遞送到使用者郵箱中user+extension@exampel.com指定的特定文件夾:extension

dovecot unix - nn - - 管道標誌=DRhu 使用者=vmail:vmail argv=/usr/local/libexec/dovecot/dovecot-lda -f $ {sender} -d $ {user}@${nexthop} -m ${extension}

或者如果你有一個 INBOX/ 命名空間前綴:

dovecot unix - nn - - 管道標誌=DRhu 使用者=vmail:vmail argv=/usr/local/libexec/dovecot/dovecot-lda -f $ {sender} -d $ {user}@${nexthop} -m INBOX/${extension}

或者 Dovecot 可以完全忽略擴展並將所有消息傳遞到主收件箱

dovecot unix - nn - - 管道標誌=DRhu 使用者=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f $ {sender} -a $ {收件人} -d $ {user}@ $ {下一跳}

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