迷霧之眼
關於部落格
一種想看透事物本質的天性 深知混雜其中不如靜靜地旁觀 發覺出想知道的答案



_uacct = "UA-445744-2";
urchinTracker();
  • 11070

    累積人氣

  • 0

    今日人氣

    0

    訂閱人氣

[Tech-TS]DS -Define Smart Host in Sendmail

最近因為 mail reject 的問題,十分傷腦筋。因為如果問題是出在對方的設定阻擋,那麼除了透過連繫來要求解除之外是真的無計可施。不過昨晚倒是想出兩條途徑,可以突破 IP 或 Domain 的 Deny 限制,一個是由 Server 端,一個是由 Clients 端。原理其實很簡單,那就是所謂的 IP 或 Domain 封鎖,乃是由透過 DNS 檢查或是主機端 access.db 檔案之類的限制,直接 reject 那個連線請求。如果這個連線請求是透過某一個未被限制的 IP 或 Domain,將不會被拒絕。換句話說,就是先 Relay 到某一台機器,然後再透過它來轉送。 在 client 的作法比較簡單,也就是在 MUA 裡直接設定 smtp 為 ISP 的 smtp,也就是透過那一路來連線直接以其 smtp server 來寄送,基本上 Hinet 並不阻擋其 ADSL 用戶來 relay ,所以只要 ADSL 了連線是合法的,relay 就是合法的。(這當然不是說你可以這麼簡單就以此作為發廣告信的設定,因為總連線量、使用頻寬等還是算在這條 ADSL 的名下,據此濫發廣告信可是會被揪出來的) 所以使用者端改 MUA 的設定就可以外寄郵件,不過這方法也有其限制。例如該線路被封鎖 25 Port 時就沒辦法用,而且賓為寄送並不透過自己的 MailSever,所以也沒辦法查 maillog 來找問題,另外也因為不透過本身主機的 smtp ,所以形同虛設。因此把它當作應急措施可以,長久策略就顯得不妥。 在 Server 端部份原理相同,利用 sendmail 設定的 smart host,將 ISP 的 smtp Server 當作 mail hub ,委由它代遞。我本來覺得這真是一個好的解決方案,因為一來不用逐一變更每一用戶端的 MUA ,只要在 MTA 改一次就好,而且速度還不錯。在實際測試後發現還是有些問題,主要是在被 relay 主機的設定。在 Hinet 中測試的結果,收件人同是 Hinet 就沒問題,可是若是為其他網域所轄,就會回應 User Unknow 的訊息,這個 User Unknow 當然是被 relay 主機的 User Unknow。所以並不能算是個完美的方案,當然是可以考慮透過 mailertable 來設定 mail routing,不同的郵件走不同的迴路,不過因為尚不熟悉,所以暫時作罷。 不過在一連串的探所過程裡,卻是越來越更瞭解 Spam 的運作。對付 spammer ,也多些瞭解。
相簿設定
標籤設定
相簿狀態