最近、postfixをドッカーコンテナに移し、ホストシステムのポート25と587を公開しました。
これを行った後、ホストのcronがNo MTA installed, discarding output
。
sendmail
cronが通常MTAパッケージによって提供されるこのコマンドを使用したいようです。 sendmailを提供するためにホストにpostfixをインストールするのは少し愚かです。 sendmail はポート 25 でリッスンしようとし、dockerized postfix マッピングと競合します。
msmtp
インストールして追加してみました/etc/msmtprc
。
account default
host localhost
auto_from on
maildomain [domain]
From: root
Cronはpostfixを介してメールを送信しようとしましたが、auto_fromおよびmaildomainオプションを使用しても、orなどのデフォルトヘッダーまたは無効なヘッダーを使用しているように見え、From: root (Cron Daemon)
拒否されます。 opendkimもこれを処理できません。
sendmail
postfixがホストにインストールされると、postfixはすべてのアドレスを照合し、必要に応じて追加するmailname
機能を提供しますが、ミニマリストmsmtpはこれを実行しないと仮定します。
ここで解決策は何ですか?sendmail
dockerizedサフィックスを使用してメールを送信するようにホストから合理的なコマンドを受け取るにはどうすればよいですか?
答え1
答えはlocal_header_rewrite_clients
オプション。デフォルトはpermit_inet_interfaces
ローカルメッセージ用のドメインのみを追加することです(源泉IPアドレスは、サフィックスがリッスンしているインターフェイスと一致します。
postfixがその中に何でもpermit_inet_interfaces,permit_mynetworks
添付できるように変更してください(私の場合はdockerを含む)。myorigin
mynetworks
172.17.0.0/16