如何在 Postfix 中封鎖網域內特定使用者的出站電子郵件?

如何在 Postfix 中封鎖網域內特定使用者的出站電子郵件?

如何阻止特定使用者的外寄郵件([電子郵件受保護])在 Postfix 中除特定網域清單之外的所有網域(例如@example.com、@dot1q.com)?

我找到了阻止郵件發送到特定網域的解決方案:

編輯主文件檔案(預設位置位於/etc/後綴)並添加transport_maps = hash:/etc/postfix/transport到文件中。建立一個名為/etc/postfix/運輸,如果它不存在。在傳輸文件末尾添加以下內容:example.com : dot1q.com : * discard:

但不幸的是,這會阻止所有使用者的電子郵件。是否可以使這項工作僅適用於一個用戶[電子郵件受保護]

答案1

在您的情況下,文件的正確語法transport應該是(使用正規表示式):

/^user@example\.com/ discard:
/.*/ :

第一行postfix告訴丟棄郵件已發送[email protected],地址為第二行 tesspostfix接受其他一切。

答案2

Postfix 提供了 ' check_sender_access' 參數。它可以在 /etc/postfix/main.cf 中用作

smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/access

若要封鎖 發出的電子郵件[email protected],請 /etc/postfix/access使用下列命令建立

[email protected] REJECT

之後運行以下命令

postmap /etc/postfix/access
service postfix restart

如果您使用 sendmail 作為 MTA,請編輯檔案 /etc/mail/access 並在其中新增以下規則:

From:[email protected]   REJECT

然後重新啟動 sendmail 服務,

service sendmail restart

用戶“test”不應該能夠發送郵件。

相關內容