Я создаю веб-панель для управления учетными записями электронной почты, псевдонимами и т. Д.
и интересно, как заставить «Установить отпуск» на работу.
Мы используем Dovecot в качестве IMAP-сервера и Pidgeonhole.
Библиотека, которую я проверил https://github.com/loconox/ потребности
$sieved = new \LibSieve\ManageSieve(MANAGESIEVE_HOST, 4190, MANAGESIEVE_USER, MANAGESIEVE_PASS);
$sieved->sieve_login();
Dovecot использует схему паролей sha512-crypt, так как я могу использовать эту библиотеку, не зная простого пароля.
Эта панель, которую я создаю, позволяет администратору включать / отключать сообщения об отпуске для кого-то.
Чтобы заставить vacation
вам не нужно манипулировать ситовыми правилами пользователя. Для каждого входящего сообщения проверяется / обрабатывается четыре группы наборов правил сита:
Вы можете поместить код отпуска в глобальное / до сита, не зная логин / пароль пользователя, и можно предотвратить выполнение любого другого сита после vacation
код.
Обратитесь к вики dovecot для дальнейшего чтения: https://wiki.dovecot.org/Pigeonhole/Sieve/Configuration
Да, но пользователь может настроить сообщение об отпуске из веб-почты Roundcube и нашей панели управления. Оба способа должны редактировать одни и те же данные. Как это можно сделать без использования сценариев оболочки?
Вы также можете использовать мастер-пароль для входа в систему из избранных источников, чтобы обойти пароль пользователя.
passdb {
driver = static
# you can also put an encrypted password here
args = password=verysecretpassword allow_nets=trusted/net
}
NB, вам нужно поместить это в правильное место в вашем passdb. Вы также можете поместить это в сито протокола {}