Office 365 アカウント経由でメールを中継するように exim を設定しようとしています。 postfix 経由でこれを行う例はいくつか見つかりますが、 exim ではほとんど見つかりません。
これは可能なのでしょうか? アイデアとしては、プリンター、ファックス機、スイッチ、その他のさまざまなアプリケーションが接続してメールをアップロードできる LAN 上に exim をインストールすることです。その後、Exim は定義済みの O365 アカウントを通じてこれらのメールを中継します。
ありがとう、
m^e
答え1
セクション (つまり、 で始まるもの)smarthost_auth
にルーター (任意の名前を作成できます)が必要です。順序は重要であり、すべてのメールが O365 サーバーに送信される方法を確認して、ルーターの先頭に配置します。routers
begin routers
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
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
。