
我使用 smtproutes 透過外部 SMTP 伺服器(例如 example.com:externalsmtp.com)將使用者的電子郵件傳送到某些網域
如何將除本機虛擬網域之外的所有電子郵件傳送到外部 SMTP?
答案1
請參閱線上說明頁qmail-remote(8)
,控製文件:
smtp路由
人工 SMTP 路由。每條路線的形式都是
domain:relay
,沒有任何多餘的空格。如果domain
匹配主持人, qmail-remote 將連接到relay
, 就好像主持人作為relay
其唯一的 MX。 (它也將避免進行任何CNAME
查找食譜.) 主持人可能包含一個冒號和一個連接埠號碼來取代普通的 SMTP 連接埠 25:inside.af.mil:firewall.af.mil:26
relay
可能為空;這告訴 qmail-remote 像往常一樣查找MX
記錄。 smtp 路由可能包括通配符:.af.mil: :heaven.af.mil
.af.mil
這裡任何以(但不是其本身)結尾的位址都透過其記錄af.mil
進行路由;MX
任何其他地址都會被人為路由到heaven.af.mil
。
這並沒有直接說明它,但domain
也可以為空,這可以用作通配符。因此,您可以指定一個智慧主機繼電器,如戴夫希爾 (Dave Sill) 所解釋的生活與 qmail:3.2.4.中繼到智慧主機。
echo ":smtp.example.com" > /var/qmail/control/smtproutes
因此,如果您想中繼除智慧主機之外的所有example.net
內容example.org
:
example.net:
example.org:mail.example.org
:smtp.example.com
這裡,
- 郵件至
example.net
將尋找 MX 記錄(空「中繼」), - 郵件
example.org
將通過mail.example.org
,並且 - 其他一切都將通過智慧主機
smtp.example.com
(空即通配符domain
)。