web-dev-qa-db-ja.com

サーバーからすべてのメールを転送する最も簡単な方法は?

重複の可能性:
軽量の送信SMTPサーバー

ローカルユーザーの電子メールとcronジョブなどの完全修飾アドレスを生成するヘッドレスサーバーの最小メールソリューション(MTA)を探しています。理想的には、ローカルユーザーfooへのすべてのメールをマッピングする必要がありますfoo@mydomainに変更し、uid <1024に変更し、/var/mailを使用せずに外部のSMTPサーバーに送信します。

数年前、私は sSMTP を同様のタスクに使用しましたが、これがまだ先かどうか疑問に思っていましたか?また、デフォルトのdebianメールシステムはどれくらい削除する必要がありますか?


更新少しグーグルしてしまい、明らかな候補者は

eSMTP はもう開発されていませんが、最も優れたドキュメントがあるようです。それは私のニーズに完全に適合しませんが、smtpを介して[email protected]にプッシュするのではなく、メール配信エージェント(MDA)を介してローカルユーザーfooにメールを配信するよう主張しているようです。または、qualify_domainを構成に追加すると、マッピングが行われる場合があります。試してみる必要があるかもしれません...
nullmailer/varでキューを実行しているようですが、これは私が望むものではありません。

誰かがこれらのいずれかの経験がありますか?

12
Janus

Nullmailer 法案に合うかもしれません:

Nullmailerは、「アップストリーム」ホストの固定セットを介してすべてのメッセージを中継するように設計されたメール転送エージェントです。

Debianパッケージをインストールするだけで、以前にMTAがあったものがすべて置き換えられます。

私のおすすめもnullmailerです。以前も同様の状況で(システムで生成されたメール用にZimbraボックスで2番目のMTAを使用する必要がありました)、それは法案にうまく適合しています。

ただし、/ varを使用しないという要件はハードルです。理由を詳しく教えてください。問題がディスクを使用している場合は、nullmailerのキューをtmpfsにマウントできます。安全にはなりませんが、少なくともディスクに触れることはありません。

3
rsuarez

私見、これを行う最も簡単な方法は、postfixをインストールして(debconfから質問があった場合は「インターネットサイト」を選択する)、次のコマンドを実行することです。

postconf -e relayhost=other.mailserver.com
postconf -e mailname=my.domainname.com

relayhostで指定されたSMTPサーバーが認証を必要としない限り、リレーを許可するか、これが機能する受信者アドレスの有効な宛先です。

mailnameパラメータはデフォルトのドメイン名になります。したがって、fooにメールを送信すると、foo @ my.domainname.comに送信されます。ユーザーbarから送信されるメールは、bar @ my.domainname.comから送信されます。

認証が必要で、TLSをサポートする必要がある場合は、次のコマンドも実行します。

postconf -e smtp_tls_security_level=may
postconf -e smtp_sasl_auth_enable=yes
postconf -e smtp_sasl_password_maps=pcre:/etc/postfix/sasl_password_maps

次に/etc/postfix/sasl_password_mapsこのコンテンツがあります:

/./ username:password

すべてのメールは、指定されたユーザー名とパスワードでリレーホストに送信されます。

2
bahamat