Javamail:以admin用户身份进行身份验证,以其他用户身份进行身份验证

时间:2013-10-08 10:36:10

标签: java authentication javamail imap

Imapsync有一个admin auth选项,即--authuser1/--authuser2,允许您在不知道用户密码的情况下模仿登录用户的imap帐户。

这适用于Zimbra,有助于在备份位置之间同步imap存储。

但是,imapsync会为每个邮箱打开一个新连接,并且需要花费大量时间来同步文件夹。

如何使用javamail作为管理员用户进行imap登录,并授权为另一个用户,并可能重用该连接来选择多个用户?

最终,我想:

  1. 避免为每个用户启动网络连接
  2. 在不知道用户密码的情况下同步邮箱

1 个答案:

答案 0 :(得分:2)

这大部分取决于服务器......

如果服务器支持PLAIN身份验证或其他一些SASL身份验证机制,您可以将mail。 protocol .sasl.authorizationid属性设置为您想要充当的用户,然后与管理员联系用户名和密码。

标准IMAP没有提供“unauthenticate”的方法并且保持连接处于打开状态,因此在重用连接时无法切换到充当其他用户。某些服务器支持可用于执行此操作的扩展。