我不知道如何使用 hPostfix 和 Dovecot 将邮件转发到特定的邮箱。
发件人邮箱地址-->收件人邮箱
目前邮件已被转移到特定用户的收件箱中。
Postfix 配置:
主配置文件
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
命令旨在通过收件人而不是发件人重定向传入消息,因此您的命令建议将 user@recipient 作为发往 *@sender 的邮件的通用地址。请注意,文件名必须与 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)有关文件语法的详细信息。
之后,运行postmap /etc/postfix/sender_access
、重新加载/重新启动您的 postfix,从现在开始,来自域 sender.org 的所有传入邮件都应发送到[电子邮件保护],无论收件人 (TO)、抄送 (CC) 和密送 (BCC) 字段如何。
答案2
谢谢你的回答。你说得对。这是收件人而不是发件人。
让我澄清一下我的问题。
我怎样才能实现以下星座?
邮件->收件人地址->邮件账户->具体邮箱