@LikeSD
Системный администратор

Как получить почту imap_open с авторизацией Kerberos?

Доброго времени. Суть вопроса в следующем. Есть скрипт, который забирает почту и кладет все в базу данных. Во время тестирования скрипт гонялся на почте от Яндекса. Теперь пришло время переносить на корпоративный сервер и брать почту с него. Тут появилась проблема.

Array ( [0] => Kerberos error: Credentials cache file '/tmp/krb5cc_327275' not found (try running kinit)


Для работы с почтой использую:
$mail_login    = "mail@mail.mail";
$mail_password = "password";
$mail_imap     = "{imap.ourmail.ru:993/imap/notls/ssl/debug}INBOX";

$mbox = imap_open($mail_imap, $mail_login, $mail_password);
print_r(imap_errors());

$mails = imap_search($mbox, 'UNSEEN');


На сервере крутится Dovecot+Postfix. В конфигах Dovecote стоит авторизация Kerberos. Все это богатство досталось в наследство от старого админа, который свалил даже не попрощавшись.

Может кто сталкивался, как заставить скрипт забирать почту с авторизацией Kerberos?
  • Вопрос задан
  • 734 просмотра
Решения вопроса 1
@LikeSD Автор вопроса
Системный администратор
Решено!
$mail_login    = "mymail";
$mail_password = "mail password";
$mail_imap     = "{imap.site.ru/imap/novalidate-cert/ssl/norsh/user=name_user}INBOX";

$mbox = imap_open($mail_imap, $mail_login, $mail_password, NULL, 1, array('DISABLE_AUTHENTICATOR' => 'GSSAPI'));

$str = imap_errors(); print_r($str);
echo $str;

$mails = imap_search($mbox, 'UNSEEN');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Так сделайте что просят. Для керберос сначала необходимо у сервера Керберос получить TGT (ticket grantering ticket), только потом с ним можно идти на сервер IMAP и авторизоваться уже на сервере IMAP. TGT можно получить с помощью kinit.
например, здесь инструкция:
directory.apache.org/apacheds/kerberos-ug/4.1-auth...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы