web-dev-qa-db-ja.com

メールを転送するようにEximを設定する

新しいCentOSインストールでEximをセットアップして、指定されたアドレスのコレクションのメールを受信し、それぞれ別のアドレスにメールを転送しようとしています。たとえば、me @ example.comからメールを受信すると、me @ gmail.comに転送されます。

これはかなり簡単なはずだと思います...以前にSendmailでvirtusertableを使用してこれを動作させていました-Eximで同様のことができますか?

また、メールを送信できるようにしたいのですが、ローカルマシンから(つまり、サーバーで実行されているアプリケーションから)送信されているメールに対してのみです-公開されているSMTPサーバーは必要ありません。

メールサーバーが安全であることを確認するために留意すべき他の設定はありますか? (つまり、リレーを防止します)私はそれが箱から出して安全であることを想定しています。

ありがとう。

10
Joe Freeman

リダイレクトルーターを使用する必要があります。 Eximルーターの仕様を読んでください。多くのことができるため、非常に複雑になる可能性があります。

基本的に、あなたはこのようなものをセットアップする必要があります(テストされていません)


sender_redirect:
  driver = redirect
  data = ${lookup{$sender_address}lsearch{/etc/exim4/sender_redirects}}

次に、/etc/exim4/sender_redirectsに、次のように、行区切りのコロン区切り形式のリダイレクトを含むファイルを作成します。


[email protected]: [email protected]
7
Gavin McTaggart

Dsearchを使用せずにJoe Freemanが言ったことのバリエーション(これにより、不明な検索タイプの「dsearch」エラーが発生しました):

Exim.confの始めに:

#Replace:
domainlist local_domains = lsearch;/etc/virtual/domains
#With:
domainlist local_domains = lsearch;/etc/virtual/domains : lsearch;/etc/virtual/forwarding_domains

「begin routers」セクションに以下を追加します。

sender_redirect:
    driver = redirect
    domains = lsearch;/etc/virtual/forwarding_domains
    data = ${lookup{$local_part}lsearch{/etc/virtual/forwarding/$domain}}

Lsearch;/etc/virtual/forwarding_domainsで、ドメインを1行に1つ追加します。

example.com

そして/etc/virtual/forwarding/example.com containsgを作成します:

me: [email protected]
5
Marius

Exim4は、古いスタイルの.forwardファイルと、.forwardで始まるEximスタイルの# Exim filterファイルもサポートしています。たとえば、後者を使用してバックアップアカウントに転送し、POP3アクセスのために元のファイルをスプールに保持するには、次のようにします。

# Exim filter  <== do not edit or remove this line!

unseen deliver [email protected]

exim構成の腸、IMOでrootとしてあちこちに移動するよりもはるかに単純で、危険性は低くなります。これの詳細は here です。

3
jcomeau_ictx