我正在嘗試將 exim 設定為透過 Office 365 帳戶中繼郵件。我可以找到很多透過 postfix 執行此操作的範例,但在 exim 上幾乎沒有。
這是可能嗎?我們的想法是在我們的 LAN 上安裝 exim,以便連接印表機、傳真機、交換器和其他雜項。應用程式可以連接並上傳郵件。然後,Exim 將透過預先定義的 O365 帳戶轉送這些郵件。
謝謝你,
我^e
答案1
你需要一個smarthost_auth
路由器(你可以為此取任何名字),在routers
部分(即以 開頭的begin routers
);順序很重要,要了解所有郵件應如何發送到 O365 伺服器,請將其放在路由器的頂部:
smarthost_auth:
debug_print = "R: smarthost for $local_part@$domain"
driver = manualroute
domains = ! +local_domains
transport = smtp_smarthost_auth
route_list = * o365server.example.com byname
host_find_failed = defer
same_domain_copy_routing = yes
no_more
您可以用if取代該domains
行domains = *
全部郵件必須到O365伺服器;在該行中輸入該伺服器的正確主機名稱route_list
。
然後你需要這個交通工具(我再次選擇了名稱,如果你想要的話可以更改它);將其放在以 開頭的部分中begin transports
,順序並不重要:
smtp_smarthost_auth:
debug_print = "T: remote_smtp_smarthost for $local_part@$domain"
driver = smtp
hosts_require_auth = *
最後,您需要一個適當的身份驗證器,位於該行之後begin authenticators
。想必您的配置已經有一個cram_md5
,plain
和login
節。例如這樣的事情:
cram_md5:
driver = cram_md5
public_name = CRAM-MD5
client_name = MyName
client_secret = MySecret
fixed_plain:
driver = plaintext
public_name = PLAIN
client_send = ^MyName^MySecret
fixed_login:
driver = plaintext
public_name = LOGIN
client_send = : MyName : MySecret
當然替換MyName
和MySecret
。