2013-10-08 2 views
0

Imapsync имеет параметр авторизации admin i.e. --authuser1/--authuser2, который позволяет вам имитировать учетную запись пользователя в учетной записи imap пользователя, не зная пароля пользователя.Javamail: аутентифицировать как пользователь admin, разрешить как другой пользователь

Это работает специально для Zimbra и помогает синхронизировать хранилища imap между местами резервного копирования.

Однако imapsync открывает новое соединение для каждого почтового ящика и занимает много времени для синхронизации папок.

Как вы достигаете входа в систему imap с помощью javamail в качестве пользователя-администратора и авторизуетесь как другой пользователь и, возможно, повторно используете соединение для выбора нескольких пользователей?

В конце концов, я хочу:

  1. избежать инициирования подключения к сети для каждого пользователя
  2. синхронизации почтовых ящиков, не зная пароли пользователей

ответ

1

Большая часть этого зависит от сервера ...

Если сервер поддерживает аутентификацию PLAIN или некоторые другие механизмы аутентификации SASL, вы можете установить почту. протокол .sasl.authorizationid для пользователя, с которым вы хотите действовать, а затем подключиться к имени пользователя и паролю администратора.

Стандарт IMAP не предоставляет способ «неавторизовать» и оставить соединение открытым, поэтому нет способа переключиться на работу как другой пользователь при повторном использовании соединения. Некоторые серверы поддерживают расширения, которые можно использовать для этого.

+0

Отличное предложение по функции sasl authorizationid - спасибо! Zimbra также поддерживает эту функцию. Однако это облом, что у вас есть разрыв соединений, если вы должны повторно аутентифицироваться как другой пользователь. Для миграции тысяч пользователей через IMAP это серьезный недостаток. – Olaseni

+0

Поддерживает ли Zimbra какое-либо расширение без проверки подлинности? Я ничего не видел [здесь] (https://github.com/Autobase/Zimbra/blob/master/ZimbraServer/docs/pop-imap.txt). В противном случае он ограничен спецификацией протокола IMAP. –

+0

Не то, чтобы я знал. Если бы это существовало, это было бы прекрасным средством для массового синхронного обмена между магазинами imap. – Olaseni

Смежные вопросы