質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

2回答

6704閲覧

postfixにて複数転送先に、TOをそれぞれ変えて転送可能でしょうか。

proccessfactory

総合スコア13

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

1クリップ

投稿2017/03/22 09:34

編集2017/03/23 10:43

postfixの設定についてのご質問です。

先日、以下にて質問し、解決はしたのですが、
その続きの質問です。

postfixでtoアドレスを変更して転送したい。
https://teratail.com/questions/68974

受信したメールを
Toを変更して2箇所に転送したいのです。
Toもそれぞれ2箇所にしたく。。

例えば
aa-bbbb@ccc.com
と受信したメールを

bbbb@ccc.com」…①
↓ と
cccc@eeee.com」…②

というように、2箇所に対してToアドレスを変えた上で、
転送する事は可能なものでしょうか。
①だけは同じドメインです。

お手数ですが、もし方法がありそうでしたらご教示頂けますでしょうか。

------追記します。
どういう使われ方をするのか想定しずらく申し訳ありません。

TOで送られるのは、個人用メールではなく、
メール転送を使ったシステム用のアドレスになります。

宛先は固定で、Toのアドレスに宛先1つのみ記述されます。

CCやBCCとしては入ってきません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikedas

2017/03/23 09:16

実際の宛先だけでなくヘッダにも変更を加えたいということかと思いますが、次のような場合はどう処理する想定でしょうか。(1) To: フィールドに変更前の宛先アドレスを含む複数のアドレスが書いてある場合、(2) Cc: フィールドに変更前の宛先アドレス (または、それを含む複数のアドレス) が書いてある場合、(3) To: にも Cc: にも変更前の宛先アドレスがない場合 (BCCで送った場合など)。
proccessfactory

2017/03/23 10:43

ご指摘ありがとうございます。編集しました。
guest

回答2

0

メッセージ転送エージェント (MTA) は、基本的に、決まったルーティングに従ってメッセージを配送するためのものです。メッセージを改変したり、メッセージのコピーを複数の宛先に送ったりする機能はほとんど持っていません。ご質問のようなことを実現するには、いったんMTAからメッセージを受け取り、改変した後、再びMTAに配送を要求するような機構を用意する必要があります (このような機構を理論的には仲介者〔mediator〕と呼びます)。

たとえばPostfixであれば、次のような機能を使って仲介者プログラムにメッセージを渡せます。

仲介者プログラムは、受け取ったメッセージを必要に応じて改変した上で、自分でメッセージをMTAに送らなければなりません。


なお、このような「メッセージを転送するだけでなく、To: フィールドも転送先アドレスにしたい」という要求はよくみかけるものですが、はたしてこのようなことが必要なのかも、検討したほうがいいと思います。

  • そもそも、これは何の役に立つのでしょうか? なるほど、メッセージを受け取った人はメッセージのTo: フィールドに自分のアドレスがあることを確認できます。しかし、自分に届いたメッセージが自分宛てのメッセージであることは、ヘッダで確認するまでもなく当然のことです。
  • さらに、これはメッセージの情報を減らすため、混乱のもとでさえあります。メッセージの送信者側はメッセージの送り先にメッセージを送ります。一方、最終受信者には送信元が指定した送り先が見えなくなり、送信者が自分のアドレスに宛てて直接メッセージを送ってきたように見えます。最終受信者が、個人宛てのメッセージだという前提で送信者に照会などすることがありえます。
  • また、みだりにヘッダを改変すると、送信者ドメイン認証 (DKIM等) やS/MIMEなどの認証が無効になるおそれがあります。

以上のような点や、エラー時の処理などの複雑さの増大を考えると、このようなことはやらないほうがいいと考えます。……まあ、どうしてもというのならしかたないですが、問題があることは理解しておいたほうがいいと思います。

投稿2017/03/24 09:44

ikedas

総合スコア4333

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

proccessfactory

2017/03/28 08:26

ご教示ありがとうございます。 MTA~仲介者、という概念、勉強になります。 そもそもの宛先を変えてまで複数先に転送したい、という点ですが、 転送先のメールは人が見るのではなく、システムが処理するものなので、 どうしてもヘッダを変更せざるを得ないのです。。 仕組みを見直して、メールではなくファイルベースで、など、システムを 見直せばメールを使わない方法もあると思うのですが、 現行運用している仕組みを使って、宛先追加となった場合の対処を 行いたかったのでした。 (転送先もA社、B社とそれぞれ異なるという点もあります) アドバイスありがとうございました。
guest

0

recipient_canonical_maps だと 1つの宛先→2つにはできないようです。

/etc/alaisesvirtual_alias_maps で 2つの宛先に転送することはできます。
しかし、それぞれ envelope to を変えますが、ヘッダTo は変えられないです。
2つにした後で、recipient_canonical_maps で書き換えようにも、どちらも「To: aa-bbbb@ccc.com」なので、"bbbb", "cccc" のどちらに書き換えればいいのか区別がつきません。

例えば、sed で ヘッダTo 書き換え& sendmail コマンドで送信する処理を "bbbb" と "cccc" で 2回実行するようなスクリプトを自作し、/etc/aliases の |command 方式で呼び出すとかどうでしょうか。
バウンスメールをどうするかとか、別の問題はあるかもしれませんが。

投稿2017/03/23 15:00

TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

proccessfactory

2017/03/24 05:07

ご回答の程、ありがとうございます。 ワンクッション置いて、プログラムでなんとかするしかなさそうですね。 ヘッダToをそれぞれ変えなくては行けない点がネックですよね。。。 諸々ご教示と検討頂きありがとうございました! 検討してみます。 もし解決したらここに方法をアップします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問