我有两台服务器运行 Ubuntu 14.04。两台服务器上都安装了 Postfix 和 Dovcote。两台服务器上的邮件服务器都运行正常。我想将邮件从服务器 1 传输到服务器 2。有人能建议一下具体步骤吗
答案1
您可以使用“imapsync”脚本传输它们,这是我用于迁移到 Google 邮件的脚本。它可以与任何支持 imap 的邮件服务器一起使用:
SERVER1=imap.source.com
SERVER2=imap.dest.com
#Uncomment to hide folder sizes
FAST="--nofoldersizes"
#Uncomment to do a dry run (no actual changes)
#DRY="--dry"
#Uncomment to just sync folders (no messages)
#JUSTFOLDERS="--justfolders"
#Uncomment to just connect (no syncs at all)
#JUSTCONNECT="--justconnect"
#Set the path to your imapsync binary
imapsync=imapsync
#Users file
if [ -z "$1" ]
then
echo "No users text file given."
exit
fi
if [ ! -f "$1" ]
then
echo "Given users text file \"$1\" does not exist"
exit
fi
while IFS=';' read u1 p1 u2 p2; do {
$imapsync --usecache --syncinternaldates --nosyncacls --tmpdir /var/tmp --host1 ${SERVER1} --user1 "$u1" --password1 "$p1" --host2 ${SERVER2} --port2 993 --user2 "$u2" --password2 "$p2" --ssl2 ${FAST} ${DRY} ${JUSTFOLDERS} ${JUSTCONNECT} --exclude "Sent|^Delet|Drafts|Spam|Calendar|Brouillons|^Calend|envoi|^Contacts|Flux|sirable|Flux RSS|^Historiqu|Infected|Journal|Junk|LinkedIn|Notes|Outbox|^Probl|supprim|Courrier ind&AOk-sirable" --regextrans2 "s,^&AMk-l&AOk-ments envoy&AOk-s$,[Gmail]/Messages envoy&AOk-s," --regextrans2 "s,^INBOX/,," --regextrans2 's{Sent Items$}{[Gmail]/Messages envoy&AOk-s}' --regextrans2 's{Sent Messages$}{[Gmail]/Messages envoy&AOk-s}' --regextrans2 's{&AMk-l&AOk-ments envoy&AOk-s$}{[Gmail]/Messages envoy&AOk-s}' --regextrans2 's{Éléments envoyés$}{[Gmail]/Messages envoy&AOk-s}'
}
done < $1
启动脚本的命令行是
./script.sh sample.txt
其中 sample.txt 是包含两个服务器的每个用户的地址和密码的文件:
[email protected];password1;[email protected];password2