iT邦幫忙

0

如何設定sendmail不檢查對方MX

dov 2011-09-28 20:54:177671 瀏覽
  • 分享至 

  • xImage

請教各位前輩, 寄到對方的信; 都被放在mailq中. 錯誤訊息:
Deferred: Connection timed out with xx.com
經檢查發現對方MX設定有異. 請問有辦法更改MAIL SERVER設定
寄信時不檢查對方MX嗎??

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

10
wiseguy
iT邦超人 1 級 ‧ 2011-09-28 22:16:11
最佳解答

一般的 MTA 標準動作都是先查收件人的 domain 的 MX 是什麼,如果找不到,才使用此 domain 所查到的 IP。

如果要讓 sendmail 不去查某個 domain 的 MX,那就要使用 mailertable 這個表來告訴 sendmail 當看到某個 domain 時,就直接寄往哪個 IP。

比如你要寄給 user@some.where.com,不想讓 sendmail 去查 some.where.com 的 MX,那就可以在 mailertable 中加一條
.where.com smtp:[123.123.123.123]
那個 IP 請換成你真正想要寄過去的 IP。
寫好 mailertable 之後,下此指令:
makemap hash /etc/mail/mailertable < /etc/mail/mailertable
這樣就行了。
不過要先確定你的 sendmail 有啟用 mailertable
下此指令:fgrep Kmailertable /etc/mail/sendmail.cf
應該要出現:Kmailertable hash /etc/mail/mailertable
沒出現就加那行進去,加在第一個字是大 K 的那群設定後面即可。

8
逮丸逮丸
iT邦大師 1 級 ‧ 2011-09-28 21:50:32

如果你確認 xx.com 可收信的 IP 為 1.2.3.4 的話,
可利用 sendmail 裡的 mailertable 的機制。
參考一下:
沒有設DNS的情況下如何寄信給內部信箱
的作法,
就是編輯 /etc/mail/mailertable

&lt;pre class="c" name="code">xx.com smtp:[1.2.3.4]

這樣就可以針對送往 xx.com 的信件,
不往DNS上所查到的IP或MX 的IP送,
而往所指定的 1.2.3.4 去送。

當然,不檢查對方MX,
以個別有問題的domain才這樣處理,
不應把所有domain都不檢查對方MX 當作通則。

我要發表回答

立即登入回答