LINUX.ORG.RU
ФорумAdmin

Dovecot PostLoginScripting

 ,


0

1

Решил к dovecot (1.2.15) подключить скрипт, который бы обновлял в бд пользователей дату последнего входа и ip адрес.

Вроде бы все просто: http://wiki1.dovecot.org/PostLoginScripting

dovecot.conf

protocol imap {

.....

mail_drop_priv_before_exec=no

mail_executable = /etc/dovecot/postlogin.sh /usr/lib/dovecot/imap

.....

postlogin.sh

#!/bin/sh

/usr/bin/psql -U postgres -h 192.168.xxx.xx -d mail << EOF

UPDATE email_mailbox SET lastactive = now(), lastip='$IP' WHERE username = '$USER';

EOF

exec «$@»

При такой настройке, авторизация через Roundcube проходит наура, плюс обновляются поля в базе, но если попробывать подключиться через почтовый клиент, например Thunderbird, то авторизация не проходит, предлагает попробывать еще раз, либо ввести другой пароль, при этом поля в бд успешно обновляются, хоть вход так и не состоялся.

В чем может быть проблема?


Попробуй залогинится по имапу телнетом под каким-нибудь юзером и покажи что получается.

Плюс логи рулят - покажи что говорит довкот при авторизации кубиком и тандербёрдом.

blind_oracle ★★★★★ ()
Ответ на: комментарий от blind_oracle

telnet mail.example.ru 143

Trying 83.234.xxx.xx...

Connected to mail.example.ru.

Escape character is '^]'.

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.

a1 LOGIN neft@example.ru Password

a1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in

a2 LIST «» «*»

* LIST (\HasNoChildren) "." «Sent»

* LIST (\HasNoChildren) "." «Spam»

* LIST (\HasNoChildren) "." «Trash»

* LIST (\HasNoChildren) "." «Drafts»

* LIST (\HasNoChildren) "." «INBOX»

a2 OK List completed.

a3 EXAMINE INBOX

* FLAGS (\Answered \Flagged \Deleted \Seen \Draft $Forwarded)

* OK [PERMANENTFLAGS ()] Read-only mailbox.

* 97 EXISTS

* 0 RECENT

* OK [UNSEEN 35] First unseen.

* OK [UIDVALIDITY 1332840844] UIDs valid

* OK [UIDNEXT 247] Predicted next UID

* OK [HIGHESTMODSEQ 64] Highest

a3 OK [READ-ONLY] Select completed.

a4 LOGOUT

* BYE Logging out

a4 OK Logout completed.

Connection closed by foreign host.

Thundebird

2013-07-02 21:36:09 imap-login: Info: Login: user=<neft@example.ru>, method=PLAIN, rip=31.41.xxx.xx, lip=192.168.200.10, TLS

2013-07-02 21:36:11 IMAP(neft@example.ru): Info: Connection closed bytes=69/398

Roundcube

2013-07-02 21:38:23 imap-login: Info: Login: user=<neft@example.ru>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured

2013-07-02 21:38:23 IMAP(neft@example.ru): Info: Disconnected: Logged out bytes=29/399

Neft ()
Ответ на: комментарий от Neft

Ну, тандербёрд лезет по TLS, может в этом дело? Да и авторизуется судя по всему нормально. Там вроде как imap/ssl настраивается отдельно в довкоте, я уже точно не помню.

blind_oracle ★★★★★ ()
Ответ на: комментарий от blind_oracle

Если убрать этот скрипт, то тандербёрд норм входит по TLS. А с другими параметрами он вобще никак не подключается.

В этом вся и проблема, вроде как все в порядке, но почему то собака не входит.

Neft ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.