Dovecot 提供了主登录(可以登录所有用户账户的主用户名和密码)。
我已经按照以下方式设置了 Dovecot:http://wiki1.dovecot.org/Authentication/MasterUsers
这是我的问题。
我能够成功验证的唯一方法是尝试通过 telnet 进行两次验证。
$ telnet mail01.server.com 143
Trying 10.10.10.10...
Connected to mail01.server.com.
Escape character is '^]'.
* OK Dovecot ready.
1 login [email protected]*master my_password
1 NO Authentication failed.
1 login [email protected]*master my_password
1 OK Logged in.
imapsync(我需要使用该工具将电子邮件从 Dovecot 迁移到 Zimbra)不起作用。
$ imapsync --nosyncacls --syncinternaldates --host1 mail01.server.com --user1 [email protected]*master --authmech1 PLAIN --password1 my_password --host2 mail02.server.com --user2 [email protected] --authmech2 PLAIN --ssl2 --password2 user2_password
$RCSfile: imapsync,v $ $Revision: 1.286 $ $Date: 2009/07/24 15:53:04 $
Here is a [linux] system (Linux mylinuxbox 2.6.32-30-generic #59-Ubuntu SMP Tue Mar 1 21:30:21 UTC 2011 i686)
with perl 5.10.1
Mail::IMAPClient 3.21
IO::Socket 1.31
IO::Socket::SSL
Digest::MD5 2.39
Digest::HMAC_MD5
Term::ReadKey 2.30
Date::Manip
and the module Mail::IMAPClient version used here is 3.21
Command line used:
/usr/bin/imapsync --nosyncacls --syncinternaldates --host1 mail01.server.com --user1 user@server*master --authmech1 PLAIN --password1 MASKED --host2 mail02.server.com --user2 [email protected] --authmech2 PLAIN --ssl2 --password2 MASKED
Turned ON syncinternaldates, will set the internal dates (arrival dates) on host2 same as host1.
TimeZone:[america/new_york]
Will try to use PLAIN authentication on host1
Will try to use PLAIN authentication on host2
From imap server [mail01.server.com] port [143] user [[email protected]*master]
To imap server [mail02.server.com] port [993] user [[email protected]]
Banner: * OK Dovecot ready.
Host mail01.server.com says it has CAPABILITY for AUTHENTICATE PLAIN
Error login: [mail01.server.com] with user [user@server*master] auth [PLAIN]: 2 NO Authentication failed.
Error login: [mail01.server.com] with user [user@server*master] auth [PLAIN]: 2 NO Authentication failed.
如果我尝试不使用主用户,它就可以工作。请帮忙。
答案1
选项imapsync --authuser1
由 Jazzy Pierre 解释可能会解决您的问题。试试看。
(我写imapsync
)。
答案2
我已成功使用 imapsync 从 dovecot 迁移到 zimbra,使用主密码。我确实将主用户分隔符从 * 更改为 +,因为 * 会导致 shell 将其作为通配符处理。
在你的 dovecot.conf 中找到此行并将其更改为:
auth_master_user_separator = +
这是我通常使用的命令:
/usr/bin/imapsync \
--host1 $DOVECOTHOST --user1 "${USER}+mail-admin" --passfile1 /root/.dovecot-master \
--host2 $ZIMBRAHOST --user2 $ZMUSER --passfile2 $ZMPASS \
--authmech1 PLAIN --authmech2 PLAIN \
--exclude Trash --subscribe --syncinternaldates
希望有所帮助。
答案3
你看过邮件迁移Zimbra wiki 上的页面?有脚本可直接从 mbox 或 maildir 邮件存储导入 Zimbra。该策略可能比使用 更快、更简单imapsync
。
如果您确实需要使用imapsync
,我赞同关于 Dovecot 身份验证日志的评论。主密码身份验证显然出了问题。您使用的是哪个版本的 Dovecot?您可以发布 Dovecot 配置的相关部分吗?