
Postfix と Dovecot を使用してメールを特定のメールボックスに転送する方法がわかりません。
送信者のメールアドレス --> 受信者のメールボックス
現時点では、メールは特定のユーザーの受信トレイに転送されます。
Postfix の設定:
メイン.cf
lmtp_destination_recipient_limit = 1
mailbox_transport = lmtp:unix:private/dovecot-lmtp
virtual_alias_maps = hash:/etc/postfix/_virtual
virtual_mailbox_base = /var/vmail
virtual_uid_maps = static:10000
仮想エイリアスマップ
@sender.org [email protected]
ダブコット:
mail_location = maildir:~/Maildir
namespace inbox {
inbox = yes
location =
mailbox Drafts {
special_use = \Drafts
}
mailbox Junk {
special_use = \Junk
}
mailbox Trash {
special_use = \Trash
}
prefix =
separator = /
type = private
}
protocols = imap imap lmtp
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0666
user = postfix
}
unix_listener auth-userdb {
group = vmail
mode = 0600
user = vmail
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0666
user = postfix
}
}
答え1
このvirtual_alias_maps
コマンドは、受信メッセージを送信者ではなく受信者によってリダイレクトするように設計されているため、*@sender 宛てのメールの包括的なアドレスとして user@recipient が提案されます。ファイル名は main.cf で指定されているものと同じである必要があることに注意してください。そのため、この場合、更新のたびに を/etc/postfix/_virtual
呼び出す必要があります。postmap
送信者アドレスに基づいて受信メールを再ルーティングする場合は、次の操作を試してください。
main.cf
オプションを変更して、smtpd_recipient_restrictions
次のような内容でcheck_sender_access hash:/etc/postfix/sender_access
作成します。/etc/postfix/sender_access
sender.org REDIRECT [email protected]
(見るAccess(5)のpostfixマニュアルエントリファイルの構文の詳細については、こちらをご覧ください。
その後、 を実行しpostmap /etc/postfix/sender_access
、postfixをリロード/再起動すると、ドメインsender.orgからのすべての受信メールが配信されるようになります。[メールアドレス]TO、CC、BCC フィールドに関係なく、
答え2
回答ありがとうございます。おっしゃる通りです。送信者ではなく受信者の問題です。
私の質問を明確にさせてください。
次の星座をどうやって実現できるでしょうか?
メール -> 受信者アドレス -> メールアカウント -> 特定のメールボックス