我的一位用户将邮件托管在 Google Apps 上,但使用我的域名,他想将电子邮件托管直接转移到我的服务器上。但是,这位用户有一条规则,要求将收到的每封邮件存储并转发到 @yahoo.com 地址,他希望我也这样做。
目前我正在设置这样的事情main.cf
(仅显示相关部分):
virtual_alias_domains =
# This line cut in two here for clarity
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf,
mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
配置文件中的相关部分是:
mysql-virtual_forwardings.cf
:
query = SELECT destination FROM forwardings WHERE source='%s'
mysql-virtual_email2email.cf
:
查询 = SELECT email FROM users WHERE email='%s'
mysql-virtual-mailboxes.cf
:
query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s'
转发表只有 2 列,源和目标。用户表是两列用户@域密码表。
我该怎么做才能让 Postfix 传送到这里帐户,同时还转发到 Yahoo 帐户?
答案1
最后,我选择了简单的方法,在服务器上使用 Sieve 脚本进行转发:
require ["fileinto"];
if anyof (true)
{
fileinto "INBOX";
redirect "[email protected]";
}