後置の留守番電話

このサイトの読者への挨拶。

ここで取り上げるトピックは新しいものではありませんが、おそらく誰かの助けになるでしょう。

だから...

与えられた:
1.構成された接尾辞+ cyrus-imap + sasl2。 メールサーバーは3つのドメインを提供します(domain1.ru、domain2.ru、domain3.ru)

チャレンジ:
送信者に「留守番電話」を作成します。 つまり、手紙の受取人が病気のリストに載っており、手紙が彼に届いた場合、手紙は自分のメールボックスにあり、送信者は「病気のリストでイワノフ、すべての質問についてペトロフに連絡してください」という答えを持っている必要があります。

インターネットでこれを行う方法についての情報があることをすぐに言わなければなりませんが、留守番電話が各ドメインの各ユーザーに対して個別に作成するソリューションを提供します。
これらの目的のためにある種の普遍的なスクリプトを作成しようとしましたが、テスト中に、各ユーザー用にスクリプトを作成する方が良いという結論に達しました。

解決策:
1.次の内容を含むメッセージファイル/etc/postfix/script/ivanov@domain1.ru.msgを作成します。
こんにちは 2016年1月1日から2016年1月15日まで、私は病気休暇を取ります。すべての質問については3432142345435までお電話ください。ありがとうございます。

2. /etc/postfix/master.cf以下を追加します
autoreply_ivanov_domain1 unix - nn - - pipe flags=F user=nobody argv=/etc/postfix/script/autoreply_ivanov_domain1 ${sender} ${recipient} 


3. /etc/postfix/main.cf add
 virtual_alias_maps = hash:/etc/postfix/virtual_alias_maps transport_maps = hash:/etc/postfix/transport 


4. / etc / postfix / transport
 ivanov.autoreply.domain1.ru autoreply_ivanov_domain1: #        ivanov.autoreply.domain1.ru.             . 


5. / etc / postfix / virtual_alias_maps
 ivanov@domain1.ru ivanov@domain1.ru, ivanov@domain1.ru@autoreply@ivanov.autoreply.domain1.ru #        ivanov@domain1.ru        autoreply@ivanov.autoreply.domain1.ru(        master.cf     transport) 


6.メッセージに対する応答スクリプトを準備します。
/ etc / postfix / script / autoreply_ivanov_domain1 with content
 #!/bin/bash 1. sender=`echo $1` 2. recipient=`echo $2` 3. name1=`echo $recipient | cut -d @ -f 1` 4. name2=`echo $recipient | cut -d @ -f 2` 5. name=`echo $name1@$name2` 6. text=`cat /etc/postfix/script/$name.msg` 7. /etc/postfix/script/sendEmail/sendEmail -o tls=no -f "REPLY <autoreply@domain1.ru>" -t $sender -u reply -o message-charset=utf-8 -m $text -s 192.168.1.1 -xu autoreply@domain1.ru -xp "111" # .       . 


1-2。 postfixから受け取った他の変数の値を変数に割り当てます。 これらの変数は、master.cfファイルのこの行からここに表示されますargv = / etc / postfix / script / autoreply_ivanov_domain1 $ {sender} $ {recipient}
3-4。 受信者変数は「ivanov @ domain1.ru @ autoreply @ ivanov.autoreply.domain1.ru」と等しくなり、ここから「ivanov@domain1.ru」を取り出す必要があります。 最初に、最初のフィールド「ivanov」を最初のセパレーターに引き出し、次に2番目のフィールド「domain1.ru」を引き出します
5.この行を実行すると、name変数はivanov@domain1.ruのようになります。
6.変数テキストには、ファイルivanov@domain1.ru.msgの内容の値が割り当てられます
7.実際に送信者に応答を送信します。 誰から、誰へ、何を送信しているのか、autoreply @ domain1.ruメールボックスのsmtp、ログイン、パスワードは、当然のことながら自然に作成されるはずです。

他のユーザー/ドメイン用の留守番電話を作成するには、すべて同じです。ファイルに正しく名前を付ける必要があるのはあなただけです。

どうもありがとう。

Source: https://habr.com/ru/post/J305918/


All Articles