Eximは非常にカスタマイズ可能なオープンソースメール転送エージェントソフトウェアです

exim トランザクションメールサービス

sendmailの代替としてオープンソースメール転送エージェント

Eximは、電子メールのルーティングと配信用の高度にカスタマイズ可能なオープンソースメール転送エージェントです。これは、エンタープライズレベルの組織が柔軟性を備えているためのナンバーワンの選択肢です。

概要

電子メールによるコミュニケーションは、私たちの生活の中で原始的になりました。デスクトップ、モバイル、またはその他のデバイスからメールを送信することは、ほとんどの人にとって日々の出来事です。 Simple Mail転送プロトコル(SMTP)は、電子メールの送信に使用される標準プロトコルです。 IMAPとPOP3は、電子メールを受信するプロトコルです。 IMAPには、デバイス全体の同期により、POPよりもいくつかの利点があります。したがって、これらすべての必要なプロトコルをオープンソースとサポートするメール転送エージェントが重要です。 メール転送エージェントを実行することは非常に退屈な仕事です。したがって、MTAソフトウェアに選択するには、要件マトリックスに対する深い分析が必要です。 EXIMは、最も柔軟なオープンソースメール転送エージェントの1つであり、最もUNIXシステムのデフォルトのメール転送エージェントの交換として使用できます。 Eximには、Sendmailの互換性、CPANELサポート、柔軟な構成、そして何よりもオープンソースのコミュニティサポートなど、最先端の機能が付属しています。 Eximは、複雑な構成をセットアップするためのアプリケーション言語を備えたフレームワークのようなものです。複雑なユースケースを解決するのに役立つ高度なマルチステップメール処理ロジックがあります。 SendMailはすべての面でポストフィックスに既に失われていますが、PostfixはEximよりも多用途ではありません。優れた統合サポートがあり、システム管理者が尋ねることができるすべてを提供します。 Eximは、何らかの方法でほとんどのメール転送エージェント機能をサポートしています。

システム要求

Eximを構築する前に、オペレーティングシステムに依存しないオプションを指定するローカル構成ファイルを、Local/MakeFileという名前で作成する必要があります。このファイルのテンプレートは、ファイルSRC/EDITMEとして提供され、その中のすべてのオプション設定の完全な説明が含まれています。したがって、これらの説明はここで繰り返されません。 Eximを初めて構築する場合は、最も簡単なことは、SRC/EditmeをLocal/MakeFileにコピーして、読んで適切に編集することです。 Eximがそれらなしで構築されないため、提供する必要がある3つの設定があります。これらは、ランタイム構成ファイル(configure \ _file)の場所、eximバイナリがインストールされるディレクトリ(bin \ _directory)、およびexim user(exim \ _userおよび場合によってはexim \ _ group)のIDの場所です。 configure \ _fileの値は、実際にはファイル名のコロン分離されたリストになります。 Eximは、存在する最初のものを使用します。 同じバイナリを多くの異なるマシンで使用できるようにするために、ビルド時または実行時のいずれかで指定できる他のパラメーターがいくつかあります。ただし、EximのSpool DirectoryおよびLog File Directory(Spool Directory内にない場合)の場所が修正されている場合は、実行時ではなくローカル/MakeFileで指定することをお勧めします。不正な構成ファイルとして)ログに記録できます。 アクセス制御リストから直接ウイルスおよびスパムスキャンソフトウェアを呼び出すためのEximのインターフェイスは、デフォルトではコンパイルされていません。これらの施設を含めたい場合は、設定する必要があります

WITH_CONTENT_SCAN=yes

あなたのローカル/メイクファイルで。施設自体の詳細については Exim Monitorを構築する場合は、同様の構成プロセスが必要です。ファイルexim \ _monitor/editmeは、インストールのために適切に編集し、local/eximon.confという名前で保存する必要があります。 exim \ _monitor/editmeで説明されているデフォルト設定に満足している場合、ローカル/eximon.confは空にすることができますが、存在する必要があります。 これは、既知のオペレーティングシステムの簡単な場合に必要なすべての構成です。ただし、建築プロセスはセットアップされているため、デフォルトまたはシステム固有の構成ファイルを操作することで設定されたオプションを簡単にオーバーライドできます。たとえば、デフォルトのGCCを変更するCコンパイラを変更します。

特徴

Eximは、トップオープンソースメール転送エージェントソフトウェアから想像できるすべての最新の機能をサポートしています。これらは、Eximの主な機能の一部です。

  • Eximは、Smailが行う分散制御の同じ一般的なアプローチに従います。メール配信の全体的な管理を行う中心的なプロセスはありません。ただし、Smailとは異なり、独立した配信プロセスは「ヒント」の形でデータを共有しているため、配信は場合によってはより効率的になります。ヒントは多くのDBMファイルに保持されています。これらのファイルのいずれかが失われた場合、唯一の効果は、配信の試みと再試行のパターンを変更することです。
  • 多くの構成オプションは、拡張文字列として指定できます。これらは、使用されるときにさまざまな方法で変換されます。これらにはファイルルックアップが含まれるため、Eximの操作の多くは、必要に応じてテーブル駆動型にすることができます。たとえば、ユーザーがアカウントを持っていないマシンでローカル配信を行うことができます。文字列を拡張しながらPerlインタープリターを実行することにより、最終的な柔軟性を(価格で)取得できます。
  • 履歴メッセージを表示するためのアクセス。
  • 完全な発信を表示するためのアクセス&着信メッセージキュー。 -eximには、柔軟な再試行アルゴリズムがあり、指示とルーティングのアドレス、および配信に適用されます。 -Eximには、ヘッダーと封筒の書き換え施設が含まれています。
  • 資格のないアドレスは、指定されたホストまたはネットワークからのみ受け入れられます。 -Eximは、配信が遅れた後、同じSMTPチャネルで複数の配信を実行できます。 -Eximは、すぐにローカル配信を行うように構成できますが、キューランナープロセスによってメッセージが選択されるまでリモート(SMTP)配信を残すように構成できます。これにより、複数のメッセージが単一のSMTP接続を送信される可能性が高くなります。
  • 異なるホストへの同じメッセージのリモート配信は、オプションで並行して実行できます。 -SMTPコールが閉じるのを待つことなく、SMTPメッセージが受信されるとすぐに配信を開始します。 -Eximは、クライアントを認証するためのSMTP Auth拡張機能と、暗号化された接続を設定するためのStartTLS拡張機能のサポートを持っています。 -Perl互換性のある正規表現は、多くの構成パラメーターで利用できます。
  • ドメインリストにはファイルルックアップを含めることができ、非常に多数のローカルドメインをサポートできるようにすることができます。 -Eximは、SMTPが受信したときに、着信返品パス(送信者)と受信機アドレスのオプションのチェックをサポートします。
  • 特定のIDからオプションの特定のマシンからのSMTP呼び出しはロックアウトでき、特定の送信者からの着信SMTPメッセージもロックアウトできます。 Eximは、リアルタイムブロッキングリスト(RBL)の使用もサポートしています。
  • マシンを介して別の外部ドメインにメールを中継することが許可されているホストは、IP番号またはIPネットワーク番号で制御できます。受信者ドメインおよび送信者アドレスによるリレーコントロールも利用できます。
  • キューのメッセージは、管理者が「冷凍」したり、「解凍」することができます。 -Eximは、同じマシンで多くの独立したローカルドメインを処理できます。各ドメインには、独自のエイリアスファイルなどを持つことができます。この機能は、「仮想ドメイン」として知られています。
  • 簡単なメーリングリストは、Exim自体で直接処理できます(ただし、「深刻な」メーリングリストオペレーションの場合、専門のメーリングリストソフトウェアと併せて使用することをお勧めします)。 -Eximは、NFSマウントの欠落の場合を検出するために、「.Forward」ファイルを探す前に、ユーザーのホームディレクトリを統計します。ディレクトリが利用できない場合、配達が遅れます。 -Eximには、オプションの組み込みメールフィルタリング機能が含まれています。これは、ユーザーが個人的なフィルターファイルを提供できるように構成できます。また、システム全体のフィルターファイルをすべてのメッセージに適用することもできます。
  • フィルターメカニズムを介して、または複数の `.forward」ファイルを介して、ユーザー名の接頭辞または接尾辞によって制御される複数のユーザーメールボックスのサポートがあります。
  • 定期的な警告は、配達が遅れたときにメッセージの送信者に自動的に送信されます - 警告の間の時間は構成可能です。警告は、メッセージの内容を条件とすることができます。
  • キューの実行を手動で開始して、キューの特定の部分、またはアドレスが特定の文字列が含まれている受信者を持つメッセージを提供することができます。これにインターフェイスするために、SMTPのETRNコマンドのサポートがあります。 -Eximは、ローカル配信を実行する場合を除き、常にルートとして実行するように構成できます。あるいは、必要なときにのみルートとして実行するように構成することができます。特に、着信メッセージを受信するとき、またはSMTPを介してメッセージを送信するときにルートとして実行する必要はありません。セキュリティ問題の議論については、第55章を参照してください。
  • 私は、現在電子メールを使用している経験の浅い人々の利益のために、配信障害メッセージの文言をより明確かつシンプルにしようとしました。これらのメッセージの代替文言は、別のファイルで提供できます。 -eximモニターはオプションの追加です。 XウィンドウでEximの処理に関する情報を表示し、管理者はウィンドウインターフェイスから多くの制御アクションを実行できます。ただし、そのようなアクションはすべて、コマンドラインインターフェイスからも利用できます。

インストール手順

eximバイナリとスクリプトのインストール

コマンドMakeインストールは、引数なしでexim \ _installスクリプトを実行します。スクリプトは、Local/MakeFileのBin \ _Directory設定によって名前が指定されているバイナリとユーティリティスクリプトをディレクトリにコピーします。インストールスクリプトは、それらが置き換えるファイルよりも新しい場合にのみファイルをコピーします。 eximバイナリは、通常の構成に対して、rootが所有し、setuidビットを設定する必要があります。したがって、この方法でeximバイナリをセットアップできるように、rootとしてインストールを実行する必要があります。ただし、一部の特別な状況では(たとえば、ホストがローカル配信を行っていない場合)、バイナリsetUidルートを作成せずにEximを実行することが可能かもしれません(詳細については、第56章を参照)。 Eximのランタイム構成ファイルは、Local/MakeFileのConfigure \ _File設定によって名前が付けられています。これに単一のファイルに名前が付けられ、ファイルが存在しない場合、デフォルトの構成ファイルSRC/configure.defaultがインストールスクリプトによってコピーされます。ランタイム構成ファイルが既に存在する場合、そのままになります。 configure \ _fileがコロン分離リストである場合、いくつかの代替ファイルに名前を付けて、デフォルトはインストールされません。 インストールされているときにデフォルトの構成ファイルに1つの変更が行われます。デフォルトの構成には、システムエイリアスファイルを参照するルーターが含まれます。このファイルへのパスは、local/makefile(デフォルトでは/etc/エイリアス)のシステム\ _aliase \ _fileによって指定された値に設定されます。システムエイリアスファイルが存在しない場合、インストールスクリプトが作成し、ユーザーにコメントを出力します。 作成されたファイルにはエイリアスは含まれていませんが、サイトに通常必要なエイリアスに関するコメントが含まれています。メールエイリアスは、伝統的に /etc /エイリアスに保持されてきました。ただし、一部のオペレーティングシステムは現在、/etc/mail/aliaseを使用しています。必要に応じて、これらの1つであるかどうかを確認し、Eximの構成を変更する必要があります。 デフォルトの構成は、ローカルホストの名前を唯一のローカルドメインとして使用し、ローカルユーザーとして実行されている共有ディレクトリ /var /メールにローカル配信を行うように設定されています。ユーザーのホームディレクトリのシステムエイリアスと.Forwardファイルはサポートされていますが、NISまたはNIS+サポートは構成されていません。ローカルホストの名前以外のドメインは、SMTPを介したDNSを使用してDNSを使用してルーティングされます。 ファイルシステムのプライベート部分に特別な目的(バイナリ分布の構築など)のためにEximをインストールすることができます。次のようなコマンドでこれを行うことができます

make DESTDIR=/some/directory/ install

これは、デフォルトの構成に表示されるシステムエイリアスファイルの名前を除き、指定されたディレクトリをすべてのファイルパスにプリペンディングする効果があります。 (デフォルトのエイリアスファイルが作成された場合、その名前は変更されます。)逆方向の互換性のために、DestDirが設定されていない場合はルートが使用されますが、この使用法は非推奨です。 [インストール]を実行しても、Exim 4変換スクリプトConvert4R4をコピーしません。 Exim 3からアップグレードする場合、これはおそらく1回だけ実行されます。以下のセクション4.17で説明されているように、情報ファイルを除き、情報ファイルを除き、ドキュメントディレクトリ内のドキュメントファイルはコピーされません。 ユーティリティプログラムの場合、古いバージョンは名前に接尾辞.Oを追加することにより名前が変更されます。ただし、Exim Binary自体は異なる方法で処理されます。例えば、exim-4.94-1など、バージョン番号とコンパイル番号を含む名前の下にインストールされています。スクリプトは、バイナリを指すためにEximと呼ばれるシンボリックリンクを配置します。以前のバージョンのEximを更新している場合、スクリプトは、他のプロセスで見られるように、ディマイムという名前がディレクトリにないことを確認するように注意します。 Make Installが実際に実行する前に何をするかを確認したい場合は、このコマンドで-Nオプションをインストールスクリプトに渡すことができます。

make INSTALL_ARG=-n install

変数インストール\ _argの内容は、インストールスクリプトに渡されます。このテストを実行するためにrootである必要はありません。または、インストールスクリプトを直接実行することもできますが、これはビルドディレクトリ内からのものでなければなりません。たとえば、トップレベルのEximディレクトリからこのコマンドを使用できます。

(cd build-SunOS5-5.5.1-sparc; ../scripts/exim_install -n)

インストールスクリプトに提供できる他の2つのオプションがあります。 -No \ _Chownは、インストールされたバイナリの所有者をルートに変更するための呼び出しをバイパスし、それをsetUidバイナリにするための呼び出しをバイパスします。 -no \ _symlinkは、インストールされたバイナリへのシンボリックリンクの設定をバイパスします。 インストール\ _ARGを使用して、これらのオプションをスクリプトに渡すことができます。例えば:

make INSTALL_ARG=-no_symlink install

インストールスクリプトには、コピーするファイルを指定する引数を指定することもできます。たとえば、Exim Binaryのみをインストールするには、シンボリックリンクを作成せずに以下をインストールすることは、次のことを使用できます。

make INSTALL_ARG='-no_symlink exim' install

情報ドキュメントのインストール

すべてのシステムがドキュメントにGNU情報システムを使用しているわけではありません。このため、EximのドキュメントのTexinfoソースはメインディストリビューションに含まれていません。代わりに、FTPサイトとは別に使用できます(セクション1.5を参照)。 Local/MakeFileで情報\ _Directoryを定義しており、ドキュメントのTexinfoソースがソースツリーにある場合、Luning Installは自動的に情報ファイルを構築してインストールします。

 日本