システムメール用軽量プログラム(mini-MTA?)(無人アップグレード、cron、smartmontoolsなどを含む外部サーバーを介してのみ送信/中継)

システムメール用軽量プログラム(mini-MTA?)(無人アップグレード、cron、smartmontoolsなどを含む外部サーバーを介してのみ送信/中継)

私はLight MTA、Remote MTA、Smarthostなど、さまざまな場所でさまざまな名前に触れました。

通常、完全なメールサーバー(たとえばsendmail、、、、、などpostfix)をインストールしたくなく、exim既存の外部ISP /メールプロバイダ(dismail.de、mailfence.comなど)を使用して通知を送信したいと思います。 /emails unattended-upgradescron、 、smartmontools私自身のbashスクリプトなどがシステム全体にわたっています。

また、待機と再試行(オフラインの場合、またはメールプロバイダに一時的に接続できない場合は再送信しようとする)のサポートがある場合は理想的です。

これまで私が見つけたもの:

  • ssmtp
  • msmtp
  • s-nail
  • nullmailer
  • dma
  • esmtp

しかし、私はそれらの間で比較を見つけることができませんでした。

  1. このプログラムが目立つ理由が何であるかを知っている人はいますか? (メリット、デメリット、便利な構成、低リソース消費など)
  2. おそらく私が何かを見逃しているかもしれませんし、Debianについて言及されているものよりも優れた別のものがあるかもしれません。
  3. s-nailこれもMUAまたはbsd-mailx必須ではないことを正しく理解していますかmailutils?たぶん他の人もそうでしょうか?

答え1

したがって、お客様の要件は次のようにまとめることができます。

  • コマンドラインオプションまたはパイプを介して標準入力にメッセージを受け入れるため、スクリプトとランチャーはアウトバウンドメールを送信できます。
  • ローカルメールボックスファイルに移動する必要があるメッセージ(ルートcrontabの標準出力など)と、他のメールボックスに転送するために外部メールシステムに移動する必要があるメッセージ(通知)を区別できます。[Eメール保護])
  • これらの外部メールシステムへの転送を許可するSMTPサポート(現在はTLS/SSL暗号化可能)
  • 一定期間「スマートホスト」に接続できない場合は、ローカルでメッセージをキューに追加して配信を再試行することができます(これにはいくつかの理由がある可能性があります)。

そしておそらく:

  • 電子メールを送信するためにlocalhost:25へのTCP接続を確立する方法のみを知っている(そして外部コマンドを呼び出す方法がわからない)、GUIプログラムのローカルSMTPデーモンとしての実行をサポート

主に、ローカルメールボックスファイルと外部メールシステムに配信する必要があるメールの違いと、配信をキューに入れて再試行する必要があるため、非常に簡単な配信プロキシが大幅に削除されます。これらのタスクを処理できる転送エージェントとMTA全体の違いはかなり小さいです。

この記事を書いている間に表示されたコメントの引用に答えます。

うまく設定されたPostfixはこれらすべてを提供します。ほとんどのディストリビューションには、必要な作業の99%を実行するPostfixのデフォルト設定があり、残りの1%はインストール時間の質問に答えるか、/ etc / postfixディレクトリの設定ファイルにホスト名を書き込むことです。 (すべての発信メッセージをプッシュするスマートホストの名前)

これはLinuxワークステーションの非常に一般的な要件であり、Linuxディストリビューションの非常に一般的なユースケースです。したがって、ほとんどはデフォルトでインストールされているMTAにソリューションが事前設定されています。多くのディストリビューションでは、これはPostfixです。

答え2

調査後:

上記のリストでは、メッセージキューと再試行(ノートブックが一時的にオフラインの場合、またはメールサーバーが一時的にダウンしている場合など)のみがサポートされています。

  • msmtp
  • nullmailer
  • dma

テキストメッセージを送信する:

msmtpキューイングはデフォルトではサポートされておらず、追加のオーバーライドで問題を解決する必要があるため拒否されました。

https://wiki.archlinux.org/title/Msmtp#Using_msmtp_offline

https://gitlab.com/the-foundation/msmtp-cron-sendmail

空のメールプログラム:

nullmailer最初は良く見えますが、次のようになります。

  • 文書はほとんど存在しません。
  • 設定オプションはファイル全体に分散しており、名前が示すように直感的ではありません。
  • 最大の問題は、このallmailfromオプションがまったく機能しないことです。
    • 多くの電子メールプロバイダは、user@host実際の電子メールアドレスの代わりにローカルコンピュータを含む電子メールを拒否します。
    • 他の場合には、これらの電子メールがスパムとして分類されることがよくあります。
    • この問題は報告されましたが、2020年4月以降は解決されませんでした。 https://github.com/bruceg/nullmailer/issues/72
    • 解決策がありますが、個人的にエレガントで独創的なソリューションを探しているので、トリックや解決策には興味がありません。 https://www.atwillys.de/content/linux/force-nullmailer-to-use-a-fixed-from-address/

DMA:

私にとって、勝者はDMA(Dragonfly Mail Agent)です。

  • 構成は完全に機能し、3分かかりました。
  • 構成には2つのファイルのみが含まれており、/etc/dma/dma.conf直感/etc/dma/auth.conf的でオプションの説明があります。
  • ファイル内のfromフィールドの問題を解決し、すべてが魅力のように動作しました。nullmailer[email protected]dma.conf
  • すべてのシステム通知が機能します(Unattended-Upgrades、、、、スクリプトなど)。CronTimeshift
  • 軽くて高速で安全です。電子メールの送信にのみ使用され、受信には使用されませんが、多くの人がこれを望んでいます。

追加情報:

https://askubuntu.com/questions/759665/how-to-configure-nullmailer-to-work-with-gmx/759682#759682

https://wiki.mageia.org/en/Dma_Dragonfly_Mail_Agent

https://wiki.archlinux.org/title/Dma

Debian 11 と LMDE 5 でテストされました。

関連情報