2008-09-23 64 views
0

我有一個運行Exim4-daemon的Debian Etch系統。爲通過exim4發送的郵件添加頭文件

該系統是開放的互聯網,但我們的目的是,它只能接收來自垃圾郵件過濾服務,運行作爲在它前面的一個代理過來合法郵件。 (我不能僅限於訪問這些IP,因爲我確實有一些授權用戶通過端口25通過我的服務器進行中繼。我知道我應該使用587--但目前我不是)。

The這個工程一般方法是:

[互聯網] - > [SMTP代理] - > [我的服務]

不幸的是我有垃圾郵件發送者將郵件直接發送到郵件服務器,而忽略MX記錄(S) 。所以看起來我的明顯解決方案是:

  1. 在SMTP代理上爲每個處理的消息添加一個標題。
  2. 在我的服務器上爲每個傳入郵件添加一個標頭,除非郵件來自授權中介。 (即已完成SMTP AUTH的人)。

這樣我就可以使用procmail只是通過忽略我的MX記錄的發件人直接發送的垃圾郵件。我很確定Exim4可以被強制添加一個頭,如「X-Submitter:$ ip」 - 記錄提交消息的遠程IP,但我不確定應該如何完成。

回答

2

請注意,debian重新包裝以一種相當獨特的方式進行,這使得他們的包裝和服裝更容易,但是使用通用規則有時候並不順暢。

處理這個問題的正確方法是拒絕未授權的郵件,而不是來自代理IP。把這樣的東西放在你的rcpt ACL中:

deny message = quit trying to bypass DNS 
    !hosts = PROXY_IP_ADDRESS 
    !authenticated = *