メール転送エージェントを設定するにはどうすればよいですか?


17

Ubuntuサーバーで特定のイベントが発生したときに、Gmailアドレスに添付ファイルを使用muttして、cronまたはat添付ファイル付きで自動メールを送信するために使用する予定です。現在、mutt外部のメールアドレスにメールを送信することはできません。これは、メール転送エージェントをセットアップする必要があるためだと考えています。適切なMTAを選択するにはどうすればよいですか。また、必要な処理を実行するように設定するにはどうすればよいですか。


1
cronを使用したり、Gmailアカウントにメールを送信したりするためにmuttは必要ありません。適切に構成されたMTAで十分です。
JanC

送信メールに添付ファイルを含める必要があるので、そのためにはmuttが必要だと思いました。
conorgriffin

1
これは重要な質問です。多くの人がLinuxサーバーをセットアップし、イベントやレポートをメールで送信する何らかの方法を必要としています。多くの場合(ほとんどの場合)、本格的なメールサーバーは過剰です。そのようなタスクのために最近Postfixを設定することを学びました。これらのいずれかのような送信専用ツールをセットアップする必要がありましたが、将来的にはそうする予定です。
ドンフォークナー

回答:


20

インストールするMTAを選択する際には、いくつかの選択肢があります。最初の1つは、送信専用の MTAが必要か、本格的なメールサーバーが必要かです。

このUnix.SEの投稿で は、利用可能な送信専用MTAの包括的なリストを提供しています。それらはすべてUbuntu 10.10用に既にパッケージ化されています。送信専用MTAを選択する際に考慮したいことがいくつかあります。

  1. 障害が発生した場合に後で配信するために電子メールをキューに入れることができるかどうか:IIRC、nullmailerこれのみが可能です。

  2. システムのメール配信エージェントを置き換えるかどうか(Provides: mail-transport-agentの出力で行を探しますapt-cache show package)。存在する場合、システムから送信されるすべてのメール(cronジョブ、人気統計などからのレポートを含む)は、インストールするMTAによって処理されます。ルートおよび他のユーザーの正しいメールエイリアスを設定しない場合、メール間違ったアドレスに配信される可能性があります(通常、ISPのシステム管理者)。現在、パッケージnullmaileresmtp-run(ただし esmtp)はssmtpこのカテゴリに分類されます。

  3. すべての送信専用MTAは、電子メールを別のサーバー(「リレーホスト」または「スマートホスト」と呼ばれます。通常はISPのSMTPサーバー)に転送し、実際のインターネットメール配信のすべての詳細を処理します。ISPサーバーに接続するための特別な要件(たとえば、何らかの認証またはTLS)があるかどうかを把握し、必要な機能をサポートするMTAを選択する必要があります(たとえば、ssmtp認証やSSL / TLS)。

本格的なメールサーバーには、eximpostfix、および sendmailが含まれます。Debian / Ubuntuのインストール後のインストールスクリプトは、いくつかの一般的なセットアップ(ローカルシステムのみへのメールの配信、「スマートホスト」、つまり、ファンネルを介してメールを送信する)の作業構成を作成する素晴らしい仕事をしますすべてのメール、通常はISPのSMTPホスト、完全なインバウンドおよびアウトバウンド接続を備えたインターネットサイト)。私見ですが、postfixは実行と設定が最も簡単ですが、その機能は非常に高いため、設定マニュアルは送信専用MTAのどれよりもはるかに長くなります。

さらに、メールサーバーを設定することの本当のリスクは、ローカル設定を間違えた場合、メールが間違った場所に配信される(読み:失われる)か、オープンリレーシステムで-worse-になることですこれはスパマーが使用できます(そして、私を信じてください。あなたのサーバーが1つであることに気付く前に、彼らはオープンリレーを見つけることができます)。

私のアドバイスは、送信専用のMTAから始めて、必要に応じて完全なメールサーバーにアップグレードすることです(GMailアドレスにメールを送信したい場合はそうではありません)。


では、myserver @ gmail.comのようなメールアドレスを設定し、Gmailアカウントでsmtpを有効にするとしましょう。このGmailアカウントを使用してSMTPを介してメールを送信するようにサーバー上のクライアントプログラムを構成できます。したがって、本格的なメールサーバーセットアップの複雑さを回避できますか。
conorgriffin

@Griffo:はい、これはまさに「送信専用」MTAが行うことです。ちょうど使用msmtp(ixtmixilix」の回答で提案されているよう)や、私が上に掲載されているURLのリストから1つを選択します。
リッカルドムリ

nullmailerの+1 ...私は自分のサーバーでそれを使用していますが、とても便利です。非常に軽量で、セットアップが比較的簡単です。そして、それが機能すれば、もう気にする必要はありません:)
リトルジャワ

また、mda(DragonFly Mail Agent)は、後で配信するために電子メールをキューに入れることができます。
トマシュツィ

mda(DragonFly Mail Agent)ではなくdmaです。
アンドレアスJ. 14年

6

お勧めしmsmtpます。などの他のメールシステムのセットアップsendmailは、間違いなく非常に面倒です。msmtpセットアップが完了したら、で使用できます。また、2つのMTAの違いをプログラムが認識しないように、muttマスカレードすることもできますsendmail。詳細はウェブサイトで入手できます


3

以下のリンクは、Ubuntuのバージョンに応じて、選択できるすべてのMTA選択肢を提供します。

http://packages.ubuntu.com/precise/mail-transport-agent(12.04用)
http://packages.ubuntu.com/trusty/mail-transport-agent(14.04用)

個人的には、ssmtpセットアップと実行が非常に簡単で、たった2つのコマンドで実行できることがわかりました。

$ sudo aptitude install mailutils ssmtp
$ sudo dpkg-reconfigure ssmtp

1
ArchLinux wikiによると、ssmtpはもはやメンテナンスされておらず、msmtpを推奨しています。
セバスチャンc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.