我用這個做了郵件伺服器 教程。
一切正常,但我想把 mysql、postfix 和 dovecot 放在容器中。我用的是mysql鏡像。我為自己製作了 Postfix 容器。
我從 postfix 容器連接到 mysql 資料庫沒有問題。
問題在於連接 Postfix 和 Dovecot
在/etc/postfix/main.cf:
virtual_transport = lmtp:unix:private/dovecot-lmtp
在/etc/dovecot/conf.d/10-master.conf
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
mode = 0600
user = postfix
group = postfix
}
#inet_listener lmtp {
# Avoid making LMTP visible for the entire internet
#address =
#port =
#}
}
當我運行 Dovecot 容器時,我看到輸出:
Fatal: service(lmtp) User doesn't exist: postfix (See service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { user } } setting)
如何更改配置才能使 Postfix 與 Dovecot 連線?
答案1
我已經設定了類似的東西。
相關文件在這裡;https://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL
我不喜歡使用 MDA 的主機名稱連接到它的容器,所以給 dovecot 一個靜態 IP。
您希望 dovecot 監聽 ip 上的 lmtp 連接,因此您希望取消註解該位元。我發現如果你將 unix 套接字的配置留在那裡,它就不起作用,這並不重要,因為聽起來你無論如何都不想要它:)
/etc/dovecot/conf.d/10-master.conf
service lmtp {
inet_listener lmtp {
port = 24
}
}
/etc/postfix/main.cf
virtual_transport = lmtp:inet:127.20.0.201:24
我還在 /etc/postfix/master.cf 中引用了它,但是您似乎沒有使用 dovecot 進行身份驗證,因此您可能不需要在那裡設定它。
另請注意,lmtp 未加密或任何其他內容,因此也許可以考慮為 postfix 和 dovecot 提供自己的橋樑。