Postfix/Dovecot - 多個域和多個 Linux 帳戶
我一直在嘗試設置一個新的郵件伺服器以從我的 VPS 遷移,因為我的主機已決定關門。舊伺服器正在執行 Exim/Courier(此時已有近十年的歷史),我的印像是 Postfix/Dovecot 設置起來會更簡單。不過,我沒有那麼幸運。
我要設置的內容:
- 後綴
- 鴿棚
- 繪畫格式
- 多個域
- 多個帳戶
- 蛤蜊AV
- 垃圾郵件刺客
我一直在使用 Amavis 將 ClamAV 和 SpamAssassin 聯繫在一起。
後置信-n:
alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases append_dot_mydomain = no biff = no config_directory = /etc/postfix content_filter = smtp-amavis:[127.0.0.1]:10024 home_mailbox = Maildir/ inet_interfaces = all mailbox_command = /usr/lib/dovecot/deliver mailbox_size_limit = 0 milter_default_action = accept mydestination = localhost, /etc/postfix/domains myhostname = example.org mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 myorigin = /etc/mailname readme_directory = no recipient_delimiter = + relayhost = smtp_tls_security_level = may smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) smtpd_client_restrictions = reject_unknown_client_hostname, permit_sasl_authenticated smtpd_data_restrictions = reject_unauth_pipelining smtpd_helo_required = yes smtpd_helo_restrictions = reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname smtpd_recipient_restrictions = permit_mynetworks, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_auth_enable = yes smtpd_sasl_path = private/auth smtpd_sasl_security_options = noanonymous smtpd_sasl_type = dovecot smtpd_sender_restrictions = reject_unknown_sender_domain smtpd_tls_auth_only = yes smtpd_tls_cert_file = /etc/postfix/.pem smtpd_tls_key_file = /etc/postfix/.key smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtpd_use_tls = yes virtual_alias_maps = hash:/etc/postfix/virtual
/etc/後綴/域:
lorem.com example.org website.net
/etc/postfix/虛擬:
postmaster@lorem.com userTwo ipsum@lorem.com userTwo postmaster@example.org userOne steve@example.org userOne postmaster@website.net userOne steve@website.net userOne mike@website.net userThree mary@website.net userTwo
從 steve@example.org 向 mike@website.net 發送郵件時:
郵件日誌,郵件錯誤:
Aug 3 20:04:55 example postfix/submission/smtpd[25424]: connect from my-hostname[68.xxx.xxx.xxx] Aug 3 20:04:55 example postfix/submission/smtpd[25424]: 8D70441402: client=my-hostname[68.xxx.xxx.xxx], sasl_method=PLAIN, sasl_username=userOne Aug 3 20:04:55 example postfix/cleanup[25429]: 8D70441402: message-id=<55C001A5.9020907@example.org> Aug 3 20:04:55 example postfix/qmgr[25311]: 8D70441402: from=<steve@example.org>, size=583, nrcpt=1 (queue active) Aug 3 20:04:55 example postfix/submission/smtpd[25424]: disconnect from my-hostname[68.xxx.xxx.xxx] Aug 3 20:04:56 example postfix/smtpd[25434]: connect from localhost[127.0.0.1] Aug 3 20:04:56 example postfix/smtpd[25434]: 72CE941403: client=localhost[127.0.0.1] Aug 3 20:04:56 example postfix/cleanup[25429]: 72CE941403: message-id=<55C001A5.9020907@example.org> Aug 3 20:04:56 example postfix/qmgr[25311]: 72CE941403: from=<steve@example.org>, size=991, nrcpt=1 (queue active) Aug 3 20:04:56 example postfix/smtpd[25434]: disconnect from localhost[127.0.0.1] Aug 3 20:04:56 example amavis[5148]: (05148-07) Passed CLEAN {RelayedInbound}, [68.xxx.xxx.xxx]:52874 [68.xxx.xxx.xxx] <steve@example.org> -> <steve@example.org>, Queue-ID: 8D70441402, Message-ID: <55C001A5.9020907@example.org>, mail_id: QciSwqBl84A4, Hits: 1.439, size: 583, queued_as: 72CE941403, 838 ms Aug 3 20:04:56 example postfix/smtp[25430]: 8D70441402: to=<steve@example.org>, orig_to=<mike@website.net>, relay=127.0.0.1[127.0.0.1]:10024, delay=1, delays=0.13/0.01/0.01/0.84, dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 250 2.0.0 Ok: queued as 72CE941403) Aug 3 20:04:56 example postfix/qmgr[25311]: 8D70441402: removed Aug 3 20:04:56 example dovecot: lda(steve): msgid=<55C001A5.9020907@example.org>: saved mail to INBOX Aug 3 20:04:56 example postfix/local[25377]: 72CE941403: to=<steve@example.org>, relay=local, delay=0.12, delays=0.01/0/0/0.1, dsn=2.0.0, status=sent (delivered to command: /usr/lib/dovecot/deliver) Aug 3 20:04:56 example postfix/qmgr[25311]: 72CE941403: removed
我審查了我的 IP 和主機名。現在,請注意中間的那一行,它說的是 orig_to。當我收到電子郵件時,它在 steve@example.org 的 SENT 框中。這很奇怪,不是嗎?從 mike@website.net 到 steve@example.org 的 SMTP 工作正常。
我發現了另一個與此匹配的問題:
後綴:virtual_alias_maps 將所有內容傳遞給一個使用者,儘管有新域
不幸的是,我不明白答案,我不相信我們的設置是相同的。
所以我認為它與 mydestination 和我對虛擬地圖的使用有關……但我不太確定我如何設置我的目的地和虛擬域,如果我到目前為止所做的不起作用。
很長一段時間以來,我一直在尋找這個看似簡單的問題的答案,但我已經沒有辦法嘗試了。我不想讓Google執行我的郵件,我真的很想讓它在這個 VPS 上執行。
任何幫助將不勝感激。謝謝你。
我相信我已經解決了這個問題,並希望這對遇到此問題的其他人有所幫助。有點失望,這裡沒有太多幫助,但我想把它寫出來的行為可能有所幫助。反正:
在
main.cf
中,myorigin
和mydestination
變數需要設置為 localhost。所以:myorigin = localhost mydestination = localhost
不是使用 mydestination 來處理域分配,而是切換到虛擬域映射允許虛擬使用者獲取他們需要的郵件。
virtual_alias_domains = hash:/etc/postfix/domains
這意味著我們還需要正確格式化
/etc/postfix/domains
文件:example.org # example.com #
評論只是滿足雜湊格式,僅此而已。
postmap
此文件也需要A :postmap /etc/postfix/domains
應該是這樣的。在通過虛擬域進行查找後,所有個人帳戶都會將電子郵件路由到正確的 unix 地址。
我仍然不知道向使用者“擴展”是什麼,或者其他有問題的人發布了什麼,但這似乎與這個特定問題無關。
我希望這可以幫助像我這樣的其他人。
編輯:還要刪除
/etc/aliases
.