web-dev-qa-db-ja.com

ドメインから別のドメインの別のメールにメールを転送しますか?

私は自宅で小さなDebianサーバーを実行しており、2つのWebサイトをホストしています。また、このドメインでこのサーバーに電子メールを受信し、実際の電子メールアドレスに送信したいと思います。基本的に、彼らが[email protected]に電子メールを送信すると、別のドメインの[email protected]に転送されます。これを行うことはできますか、それともサーバーに完全な電子メールサーバープログラムが必要ですか?

私のレジストラはCanspace.caであり、サーバーを指すMXレコードを指定する以外は、メールオプションが表示されません。現在、私のサーバーにはhostedのメールはありませんが、目標は、私のドメイン名宛てのメールがすべて私の通常のメールアドレスに送信されることです。

レジストラにメールを送信したところ、ウェブサイトやその他すべてのホスティングパッケージを購入しない限り、MXレコードをどこかにポイントする以外にメールサービスは提供されないとのことでした。では、元の質問に戻りますが、Debianベースのサーバーに送信されたメールを取得し、サーバーに保存せずにメインアカウントに自動的に転送するためにできる最小のことは何ですか?

2
Canadian Luke

だから私はこれを半解決しました。私がしたことを見てみましょう。

まず、メールを受信するサービスをインストールする必要がありました。 Avery Payneの提案に従って、postfixを選択しました。私は指示に従いました Debianのウェブサイトで それをインストールしてネットワーク内でローカルに動作させる。メールの送受信はできましたが、FQDNを使用できませんでした。これはDNSの問題またはポート転送の問題だと思いました。

Postfixを設定する場合:

apt-get install postfix
cat /var/log/mail.log
postconf -e "myorigin = example.com"
postconf -e "myhostname=server1.example.com"
postconf -e "relay_domains = example.com, example2.com, example3.com"
postfix reload

次に、ローカルでテストしました。

$ telnet localhost 25
>Trying 127.0.0.1...
>Connected to localhost.localdomain.
>Escape character is '^]'.
>220 server1.example.com ESMTP Postfix (Debian/GNU)
mail from:<[email protected]>
rcpt to:<[email protected]>
data
To: [email protected]
From: [email protected]
Subject: Hey my first email
This is my first email on debian postfix after installing configuring it.
It was easy.

メッセージを終了し、を押して送信しました Enter、 .、 Enter

次に終了し、自分のアカウントでメールを確認しました。

mail
>You have 1 new mail!

読んで削除しました。次に、上記の手順でメッセージを転送しようとしましたが、送信されませんでした。結構です、多分何かがブロックされました。私がしようとしました telnet mail.example.com 25、そして私は自分のセルから接続できました(Wifiではありません)。だから、私はShaw(私のISP)がそれをブロックしていないと推測しています。自分のアドレスにメールを送信しましたが、サーバーが受信しませんでした。私はWifiに戻ってきました、そしてそれはメールを送りました!それで、それを妨げる何かがあります、しかしそれは別の質問である必要があるでしょう。

1
Canadian Luke

これを行うにはいくつかの方法があります。

まず、これを次のように始めましょう。電子メールサービスがインストールされていると仮定されている間、そうであることを示していません。ここにあるすべての例は、サービスがインストールされていることを前提としています。完全な電子メールサーバーを必要としない他の方法もありますが、それらは特殊なケースであり、通常、メールキューなしで即時配信されます。

Debianには通常、メール転送エージェントがすでにインストールされています。これはEximの一部のバージョンです(Debianのバージョンによって異なります)。 Sendmail、Qmail、Postfixなどの他のMTAをインストールすることにより、それらを使用するオプションがあります。私はそのリストの中でPostfixに最も精通しているので、私の答えはPostfixの使用/構成に傾いています。

.forwardファイル

これを行う最初の/最も簡単な/安っぽい方法は、電子メールを受信するアカウントのホームディレクトリに.forwardファイルを配置することです。 .forwardファイルは、次のように1行で構成されます。

[email protected]

電子メールが配信されると、.forwardファイルがチェックされ、見つかった場合は、指定されたアドレスに電子メールを転送するために使用されるコンテンツがチェックされます。これは元々、実際のユーザーが実際の* nixスタイルのシステムでホストされていたYeOlde Daysに戻って、一時的に新しいアドレスに電子メールを転送することを目的としています。あなたの場合、(a)アドレスに対応するユーザーアカウントが実際に設定されているとは思えないため、(b)「標準」はsupposedすべてのMTAでサポートされますが、保証はありません。また、(b)Webサイトサーバーのアドレスが最初から電子メールサーバーのアドレスと一致しないため、これがスムーズに行われないようにする他の切断があります。遷移。

もちろん、anything@somedomain.netは転送されないことは言うまでもありません。完全で解決可能なアドレスが必要です。だから、これはあなたのためには機能しません

MDAの使用

[〜#〜] m [〜#〜] ail [〜#〜] d [〜#〜]配信[〜#〜] a [〜 #〜]紳士は、特にローカルメールボックスに配信することを目的としています。あなたが提供した限られた言葉遣いに基づいて、私はあなたが別のサーバーへの電子メールの配信を必要とすると仮定することができるだけです。だからこれもあなたには向いていません。

MTAの使用

2番目のオプションは、[〜#〜] m [〜#〜] ail [〜#〜] t [〜#〜] ransport [ 〜#〜] a [〜#〜]紳士、人々が通常「メールサービス」と呼ぶもの。これらのほとんどには、通常、一連のルックアップに基づいてメッセージを再ルーティングする機能が付属しています。 Postfixの場合、特定のドメインのすべてのメッセージを別のアドレスにルーティングできます。このルールに一致するメッセージはすべてPostfixのパイプラインに再挿入され、新しいアドレスに配信されます。これを行うには、アドレスから宛先アドレスへのマッピングを作成し、Postfixに変更を通知します。

MTAを使用するもう1つの利点は、メッセージが配信のためにキューに入れられることです。何らかの問題(インターネットへの接続の喪失など)がある場合、MTAは、メッセージが配信されるか、指定されたタイムアウトに達するまで配信を試み続けます。その時点で、メッセージはバウンスします。

このアプローチをお勧めします。(キューを使用して)少し堅牢になるだけでなく、柔軟性も提供します(この方法で複数のドメインをマッピングできます)。

3
Avery Payne