Sziasztok!
Egy Debian szerveren próbálom beállítani a levelezést Postfix és Courier segítségével, SASL azonosítással, virtuális felhasználókkal MySQL adatbázisból. Úgy néz ki működik minden, viszont IMAP-on keresztül nem tudok csatlakozni, se Roundcube-bal, se telnet-tel. A logokban nem találtam meg a hiba pontos okát, csak utalásokat.
mail.err:
Feb 26 18:50:42 example imapd: authentication error: Input/output error
Roundcube:
[26-Feb-2010 18:50:17 +0000]: IMAP Error: Authentication for felhasznalo@example.com failed (LOGIN): "" (POST /?_task=&_action=login)
$ telnet 127.0.0.1 imap2
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information.
A login felhasznalo@example.com jelszo
* BYE Temporary problem, please try again later
Connection closed by foreign host.
Szerintetek hol lehet a probléma forrása? Ha további információra van szükség, akkor kérlek jelezzétek.
- 2214 megtekintés
Hozzászólások
courier-authd és courier-authd-mysql csomagok vannak fent?
- A hozzászóláshoz be kell jelentkezni
A courier-authdaemon, courier-authlib, courier-authlib-mysql és courier-authlib-userdb csomagok vannak fent.
- A hozzászóláshoz be kell jelentkezni
gondolom mindegyiket beállítottad rendesen.
- A hozzászóláshoz be kell jelentkezni
Most csináltam ilyet először. Beállítani beállítottam, de hogy rendesen-e azt nem tudom. Bár valószínűleg nem, különben működne.
- A hozzászóláshoz be kell jelentkezni
Hulye kerdes: kuldtel mar a cimre levelet/letezik az imap folder?
Vagy az courier sql lekerdezeset elszurtad, esetleg kapcsold be a mysql logot, hogy latszodjon, mit probal lekerni pontosan.
- A hozzászóláshoz be kell jelentkezni
Úgy néz ki itt kezdődnek a problémák... A szerverről a mail paranccsal tudok levelet küldeni külső címre. Ugyanezzel a módszerrel a beállított címre tudok levelet küldeni, és ez a levél meg is jelenik a /home/vmail/example.com/felhasznalo/new könyvtárban. Viszont ha kívülről küldök levelet a beállított címre, az már nem érkezik meg.
- A hozzászóláshoz be kell jelentkezni
ha jól emlékszem, courier imaphoz meg kellett csinálni a maildirt... vagyishogy kell-e, az kétséges, én meg szoktam.
- A hozzászóláshoz be kell jelentkezni
Kiderült, hogy az MX rekord még ne frissült és a régi helyre mennek a levelek. Szóval akkor várok még egy kicsit az átállásig. Ez okozhatja a bejelentkezési hibát?
- A hozzászóláshoz be kell jelentkezni
nem.
esetleg megnézhetnéd a /var/log alatt, hogy mit logol a kurír.
- A hozzászóláshoz be kell jelentkezni
Mit nézzek pontosan? Courier-nek nincs saját logja, mysql log üres, a mail logjában pedig csak a már említett bejegyzés szerepel.
- A hozzászóláshoz be kell jelentkezni
a capabilitiesben csak starttls van feltüntetve, sima login nincs, te meg azzal próbálkozol. starttls-el kellene kezdeni login előtt... vagy beállítani, hogy plain login is működjön, ha neked az kell.
- A hozzászóláshoz be kell jelentkezni
Hozzáadtam az AUTH=PLAIN-t és az AUTH=LOGIN-t, de sajnos változatlan a helyzet... Roundcube úgy van konfigurálva, hogy plain logint használjon, szóval ez nekem megfelelne, de sajnos nem működik...
$ telnet 127.0.0.1 imap2
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN AUTH=LOGIN ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information.
A login felhasznalo@example.com jelszo
* BYE Temporary problem, please try again later
Connection closed by foreign host.
- A hozzászóláshoz be kell jelentkezni
Frissült az MX rekord, a beállított címre kívülről küldött e-mailek is megérkeznek már a /home/vmail/ könyvtárba. Viszont a bejelentkezés még mindig nem jó, tehát tényleg nem ez volt a probléma.
- A hozzászóláshoz be kell jelentkezni
az imap csak starttls-t ír, login-t nem.
- A hozzászóláshoz be kell jelentkezni
Az authdaemond debug szintjét beállítottam 2-esre, így kiderült mi a hiba:
Feb 26 23:01:24 example authdaemond: received auth request, service=imap, authtype=login
Feb 26 23:01:24 example authdaemond: authmysql: trying this module
Feb 26 23:01:24 example authdaemond: authmysqllib: connected. Versions: header 50051, client 50051, server 50051
Feb 26 23:01:24 example authdaemond: SQL query: SELECT email, password, "", 5000, 5000, "/home/vmail", CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/'), "", name, "" FROM users WHERE email = 'felhasznalo@example.com'
Feb 26 23:01:24 example authdaemond: mysql_query failed, reconnecting: Unknown column 'name' in 'field list'
Feb 26 23:01:24 example authdaemond: authmysqllib: connected. Versions: header 50051, client 50051, server 50051
Feb 26 23:01:24 example authdaemond: mysql_query failed second time, giving up: Unknown column 'name' in 'field list'
Feb 26 23:01:24 example authdaemond: authmysql: TEMPFAIL - no more modules will be tried
Feb 26 23:01:24 example imapd: LOGIN FAILED, user=felhasznalo@example.com, ip=[::ffff:127.0.0.1]
Feb 26 23:01:24 example imapd: authentication error: Input/output error
Tehát a query a hibás. Viszont ilyen query-t én nem állítottam be, nem is tűnik szabályosnak... Most utána járok annak, hogy mi okozza...
- A hozzászóláshoz be kell jelentkezni
A /etc/courier alatt lennie kellene valami authmysqlrc-nek (én postgressel használom, onnan találgatok),
és abban be kellene állítani pontosan minden mezőt.
mysql_query failed second time, giving up: Unknown column 'name' in 'field list': nincs name meződ az adatbázisban.
- A hozzászóláshoz be kell jelentkezni
Valóban nincs name mező, de hol kellene lenni ilyennek? Többé-kevésbé a következő leírás alapján végeztem a konfigurálást, de itt sehol nincs name mező:
http://www.debiantutorials.net/installing-postfix-with-mysql-backend-an…
- A hozzászóláshoz be kell jelentkezni
Megoldódott, valóban az authmysqlrc-ben kellett keresni a hiba okát:
##NAME: MYSQL_NAME_FIELD:0
#
# The user's name (optional)
MYSQL_NAME_FIELD name
Ez volt beállítva. Kikommenteztem, és most már tökéletesen működik az IMAP. Köszönöm mindenkinek a segítséget!
- A hozzászóláshoz be kell jelentkezni