EXIM: Office 365 への中継

EXIM: Office 365 への中継

Office 365 アカウント経由でメールを中継するように exim を設定しようとしています。 postfix 経由でこれを行う例はいくつか見つかりますが、 exim ではほとんど見つかりません。

これは可能なのでしょうか? アイデアとしては、プリンター、ファックス機、スイッチ、その他のさまざまなアプリケーションが接続してメールをアップロードできる LAN 上に exim をインストールすることです。その後、Exim は定義済みの O365 アカウントを通じてこれらのメールを中継します。

ありがとう、
m^e

答え1

セクション (つまり、 で始まるもの)smarthost_authにルーター (任意の名前を作成できます)が必要です。順序は重要であり、すべてのメールが O365 サーバーに送信される方法を確認して、ルーターの先頭に配置します。routersbegin 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

関連情報