QMail – Courier testing (CentOS 7)
Testiamo il funzionamento del nostro imap server; la cosa più semplice da fare è quella di configurare in un client una nuova casella di posta elettronica per accedere alle mail conservate nel nostro mail server; i parametri sono i seguenti:
NomeServer mail.anthesia.lan Porta 143 SSL No Autenticazione Password normale oppure NomeServer mail.anthesia.lan Porta 993 SSL SSL/TLS Autenticazione Password normale
Di seguito invece mostreremo come testarne il funzionamento tramite shell:
# telnet mail.anthesia.lan imap Trying 192.168.44.19... Connected to mailtest.anthesia.lan. 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-2011 Double Precision, Inc. See COPYING for distribution information. a1 LOGIN dave dave a1 OK LOGIN Ok. a2 LIST "" "*" * LIST (Marked HasNoChildren) "." "INBOX" a2 OK LIST completed a3 EXAMINE INBOX * FLAGS (Draft Answered Flagged Deleted Seen Recent) * OK [PERMANENTFLAGS ()] No permanent flags permitted * 5 EXISTS * 5 RECENT * OK [UIDVALIDITY 392725274] Ok * OK [MYRIGHTS "acdilrsw"] ACL a3 OK [READ-ONLY] Ok a4 FETCH 1 BODY[] ........................................ a4 OK FETCH completed. a5 LOGOUT * BYE Courier-IMAP server shutting down a5 OK LOGOUT completed Connection closed by foreign host.
La connessione è stata effettuata al mail server utilizzando l’utente dave con password dave; in assenza di dominio, abbiamo istruito il nostro courier ad usare come dominio predefinito “anthesia.lan”. L’Imap server risponde correttamente alle nostre richieste di elencare le cartelle che abbiamo (a2 LIST “” “*”), di esaminare le mail che sono nella cartella INBOX (a3 EXAMINE INBOX) e di farciu vedere il messaggio n.1 (a4 FETCH 1 BODY[]). Infine anche la disconnessione funziona perfettamente (a5 LOGOUT).
Per testare il funzionamento della parte ssl, facciamo precedere al comando telnet di cui sopra, il seguente comando:
# openssl s_client -connect mail.anthesia.lan:993
Questo comando aprirà un canale sicuro verso il nostro server, dentro il quale passeranno i dati di login e gli altri comandi imap; quindi tutti i nostri dati viaggeranno dentro un canale sicuro (le nostre login e le nostre mail saranno protette da “sguardi” indiscreti).
Vediamo contemporaneamente cosa ha scritto il servizio nel file di log /var/log/maillog, considerando che il debug in questo istante è impostato a 2 (per cui posso vedere le password in chiaro):
Feb 18 13:10:08 mailtest authdaemond: received auth request, service=imap, authtype=login Feb 18 13:10:08 mailtest authdaemond: authmysql: trying this module Feb 18 13:10:08 mailtest authdaemond: SQL query: SELECT CONCAT(pw_name,'@', pw_domain) AS username, pw_passwd AS cryptpw, '' AS clearpw, '66' AS uid, '66' AS gid, pw_dir AS home, './Maildir/' AS maildir, pw_shell AS quota, pw_gecos AS fullname, 'disablewebmail=0,disablepop3=1,disableimap=0,disableshared=0' AS options FROM vpopmail WHERE pw_name = 'dave' AND pw_domain = 'anthesia.lan' Feb 18 13:10:08 mailtest authdaemond: password matches successfully Feb 18 13:10:08 mailtest authdaemond: authmysql: sysusername=, sysuserid=66, sysgroupid=66, homedir=/home/vpopmail/domains/anthesia.lan/dave, address=dave@anthesia.lan, fullname=dave, maildir=./Maildir/, quota=NOQUOTA, options=disablewebmail=0,disablepop3=1,disableimap=0,disableshared=0 Feb 18 13:10:08 mailtest authdaemond: authmysql: clearpasswd=, passwd=$1$zMhsFvSP$iyShFArxez6wF4ccMAmDJ1 Feb 18 13:10:08 mailtest authdaemond: Authenticated: sysusername=, sysuserid=66, sysgroupid=66, homedir=/home/vpopmail/domains/anthesia.lan/dave, address=dave@anthesia.lan, fullname=dave, maildir=./Maildir/, quota=NOQUOTA, options=disablewebmail=0,disablepop3=1,disableimap=0,disableshared=0 Feb 18 13:10:08 mailtest authdaemond: Authenticated: clearpasswd=dave, passwd=$1$zMhsFvSP$iyShFArxez6wF4ccMAmDJ1 Feb 18 13:10:08 mailtest imapd: LOGIN, user=dave@anthesia.lan, ip=[::ffff:192.168.44.19], port=[54495], protocol=IMAP
Visto il corretto funzionamento del modulo authmysql, togliamo dal file /usr/local/etc/authlib/authdaemonrc il DEBUG, in maniera tale che vengano registrati nel file di log solamente gli accessi:
... DEBUG_LOGIN=0 ...
Riavviamo il modulo di autenticazione:
# service courier-authlib restart
Se andiamo ad analizzare il nostro file di log, questa volta troveremo solo questa informazione:
Feb 18 13:23:26 mailtest imapd: LOGIN, user=dave@anthesia.lan, ip=[::ffff:192.168.44.19], port=[54496], protocol=IMAP Feb 18 13:23:32 mailtest imapd: LOGOUT, user=dave@anthesia.lan, ip=[::ffff:192.168.44.19], headers=0, body=0, rcvd=11, sent=82, time=6
Quindi possiamo tranquillamente accedere alle mail del nostro mail server tramite protocollo imap messo a dispoosizione da Courier Imap Server.
← QMail – Courier Imap (CentOS 7) QMail – Horde/Imp (CentOS 7) →