web-dev-qa-db-ja.com

Postfixおよび仮想メールボックスを使用したProcmail

PostfixとDovecotを使用して、有効なSMTP、IMAP、POP3サーバーをセットアップしました。 /home/vmail/%d/%uという形式を使用して仮想メールボックスをセットアップしました。%dはドメイン(例:camilstaps.nl)であり、%uは 'ユーザー'(例:info)です。したがって、info @ camilstapsです。 nlには/home/vmail/camilstaps.nl/infoがあります。フィルターを使用するようにProcmailをセットアップしたいと思います。

たとえば、 このwiki を読んだことがありますが、仮想メールボックスの状況には当てはまらないと思います。 Procmailの知識が足りないので、これをすべて自分で行うことはできません。

誰かが私に説明したり、どこから始めればいいのか教えてもらえますか?私はグーグルで検索しましたが、役に立たないフォーラムのスレッドに出くわしただけで、ドキュメントやチュートリアルはありませんでした。これは、これを行うことさえ可能かどうか疑問に思います。

3
Keelan

警告:それはshould動作しますが、私は自分でテストしていません。
推奨される改善:postfixとdovecotの両方に有効な仮想ユーザーを保存するためにmysql(または別のデータベース)を使用するようアドバイスします。

/ etc/procmailrcs /のprocmailスクリプトに関する議論

/etc/postfix/main.cf:

# list of valid/served virtual domains
virtual_mailbox_domains = example.com example.net
# verification of virtual recipient validity
virtual_mailbox_maps = hash:/etc/postfix/virtual
# transport for deliveries to virtual mailboxes
virtual_transport = virtualprocmail:dummy

virtualprocmail_destination_recipient_limit = 1

/ etc/postfix/virtual(ポストマップを使用したコンパイルが必要):

[email protected] Jane Doe
[email protected] John Doe

/etc/postfix/master.cf(virtualuserを仮想メールボックスを所有する実際のOSアカウント名に置き換えます):

virtualprocmail unix - n n - - pipe flags=DRXhuq user=virtualuser 
  argv=/usr/bin/procmail -m E_SENDER=$sender E_RECIPIENT=$recipient ER_USER=$user ER_DOMAIN=$domain ER_DETAIL=$extension NEXTHOP=$nexthop /etc/procmail.d/default.rc

/etc/procmail.d/default.rc(virtualuserが読み取り可能である必要があります):

# You should add some sanity chces of ${ER_DOMAIN} and ${ER_USER}

# Add trailing / if you want to use maildir directory instead of mailbox file
DEFAULT=/home/vmail/${ER_DOMAIN}/${ER_USER}
3
AnFi