我试图做到这一点非常简单,而且在Google之后,很难相信我一直无法find解决scheme。
我想要的是将用户([email protected])的所有当前消息(已发送)转发给另一个外部,并且不在我的控制帐户([email protected])中。 源服务器(我们的)是一个带有postfix / dovecot的Ubuntu Server 14.04。
唯一想到的是通过一个bash脚本,例如,迭代每个明文邮箱的消息,操作其内容以删除标题,并使用sendmail转发它们,但我认为应该有一个简单的工具或选项众所周知的工具来指定要转发的目标帐户和邮件文件path。
基于Marco的回答,我已经使用了几个IMAP Sync实用程序来完成这个任务,从windows / * nix开始工作,并支持SSL, http://imapsync.lamiral.info/
如果您无法请求临时权限(重置密码一天左右),我会configuration您的帐户在他的电子邮件客户端下载到他的邮箱,否则是的,你会发送所有这些邮件从你的邮箱,而不是原来的发件人这将是一个痛苦。
您也可以附加邮件并将其作为附件转发。 我不知道你怎么可以用脚本来做到这一点,但有人可以弄清楚。
mbox解决scheme
sudo apt-get install procmail
[email protected] cat /var/spool/mail/root | formail -k \ -X From: \ -X Subject: \ -X Message-Id: \ -X Date: \ -X To: \ -I "To: $myemail" \ -s /usr/sbin/sendmail -t -f $myemail
资料来源: 重新发送邮件,这就是本地存储在一个mbox格式的一个Linux的盒子到一个工作的电子邮件地址
如果您拥有对[email protected]的IMAP访问权限,则可以考虑所有邮件客户端都可以使用的IMAP上传function。 只需在客户端(例如Thunderbird,Outlook,Windows Live Mail)中configuration这两个帐户,然后将邮件从一个收件箱拖放到另一个收件箱即可。 或者有大量的自动IMAP迁移工具。
如果您没有IMAP访问权限,则可以使用“转发”function(可在部落networking邮件或mutt命令行邮件客户端中使用)来保留原始发件人(介意收件人的垃圾邮件filter)
你可以使用sendmail和你的消息文件(Maildir)作为input,参数-i不用一个只处理一行. 字符作为input的结尾。
for f in *; do sendmail -i [email protected] < $f; done
你必须为dovecotconfigurationsieve插件。 然后为包含下一个代码的特定用户创build脚本:
require ["copy"]; # rule:[redirect] if true { redirect :copy "[email protected]"; }
从MTA传递给LDA的所有消息(dovecot的deliver )将被存储在邮箱中,并被redirect到另一个MTA。