LINUX:Dovecot-Tester

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu de Dovecot


But

Comme dans l'article sur Postfix - serveur de messagerie, on peut tester la connexion aux protocoles POP et IMAP via des scripts.

Reportez-vous à cet article pour installer les paquets nécessaires.

On va lister les mails en attente et la liste des répertoires dans le cas d'IMAP.


POP-port 110-en clair

Abordons le cas de POP abordé en clair par le port 110. On va utiliser "telnet" pour cette connexion.

Voici le script:


#!/usr/bin/expect -f
spawn /usr/bin/telnet mail.home.dom 110
sleep 1
send -- "user pdupont\n"
sleep 1
send -- "pass XXXXXXXX\n"
sleep 1
send -- "list\n"
sleep 1
send -- "stat\n"
sleep 1
send -- "quit\n"
sleep 1
expect EOF

Et voici la sortie:


spawn /usr/bin/telnet mail.home.dom 110
Trying 192.168.1.100...
Connected to mail.home.dom.
Escape character is '^]'.
+OK Dovecot ready.
user pdupont
+OK
pass XXXXXXXX
+OK Logged in.
list
+OK 0 messages:
.stat
+OK 0 0
quit
+OK Logging out.
Connection closed by foreign host.


IMAP-port 143-en clair

Abordons le cas de IMAP abordé en clair par le port 143. On va utiliser "telnet" pour cette connexion.

Voici le script:


#!/usr/bin/expect -f
spawn /usr/bin/telnet mail.home.dom 143
sleep 1
send -- "a login pdupont XXXXXXXX\n"
sleep 1
send -- "b capability\n"
sleep 1
send -- "c list * *\n"
sleep 1
send -- "d logout\n"
sleep 1
expect EOF

Et voici la sortie:


spawn /usr/bin/telnet mail.home.dom 143
Trying 192.168.1.100...
Connected to mail.home.dom.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
a login pdupont XXXXXXXX
a OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE] Logged in
b capability
* CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE
b OK Capability completed (0.001 + 0.000 secs).
c list * *
* LIST (\HasNoChildren \Trash) "." Trash
* LIST (\HasNoChildren \Junk) "." Junk
* LIST (\HasNoChildren \Archive) "." Archives
* LIST (\HasNoChildren \Sent) "." Sent
* LIST (\HasNoChildren \Drafts) "." Drafts
* LIST (\HasNoChildren) "." INBOX
c OK List completed (0.001 + 0.000 secs).
d logout
* BYE Logging out
d OK Logout completed (0.001 + 0.000 secs).
Connection closed by foreign host.


POP-port 110-STARTTLS

Abordons le cas de POP abordé via l'approche STARTTLS par le port 110. On va utiliser "openssl" pour cette connexion.

Voici le script:


#!/usr/bin/expect -f
spawn /usr/bin/openssl s_client -crlf -starttls pop3 -connect mail.home.dom:110 -quiet
sleep 1
send -- "user pdupont\n"
sleep 1
send -- "pass XXXXXXXX\n"
sleep 1
send -- "list\n"
sleep 1
send -- "stat\n"
sleep 1
send -- "quit\n"
sleep 1
expect EOF

Et voici la sortie:


spawn /usr/bin/openssl s_client -crlf -starttls pop3 -connect mail.home.dom:110 -quiet
Connecting to 192.168.1.100
depth=1 CN=CA.home.dom, emailAddress=pdupont@home.dom, OU=Dupont, O=Home, L=Namur, ST=Belgique, C=BE
verify return:1
depth=0 CN=mail.home.dom, emailAddress=pdupont@home.dom, OU=Dupont, O=Home, L=Namur, ST=Belgique, C=BE
verify return:1
+OK Dovecot ready.
user pdupont
+OK
pass XXXXXXXX
+OK Logged in.
list
+OK 0 messages:
.
stat
+OK 0 0
quit
+OK Logging out.


IMAP-port 143-STARTTLS

Abordons le cas de IMAP abordé via l'approche STARTTLS par le port 110. On va utiliser "openssl" pour cette connexion.

Voici le script:


#!/usr/bin/expect -f
spawn /usr/bin/openssl s_client -crlf -starttls imap -connect mail.home.dom:143 -quiet
sleep 1
send -- "a login pdupont XXXXXXXX\n"
sleep 1
send -- "b capability\n"
sleep 1
send -- "c list * *\n"
sleep 1
send -- "d logout\n"
sleep 1
expect EOF

Et voici la sortie:


spawn /usr/bin/openssl s_client -crlf -starttls imap -connect mail.home.dom:143 -quiet
Connecting to 192.168.1.100
depth=1 CN=CA.home.dom, emailAddress=pdupont@home.dom, OU=Dupont, O=Home, L=Namur, ST=Belgique, C=BE
verify return:1
depth=0 CN=mail.home.dom, emailAddress=pdupont@home.dom, OU=Dupont, O=Home, L=Namur, ST=Belgique, C=BE
verify return:1
. OK Pre-login capabilities listed, post-login capabilities have more.
a login pdupont XXXXXXXX
* CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE
a OK Logged in
b capability
* CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE
b OK Capability completed (0.001 + 0.000 secs).
c list * *
* LIST (\HasNoChildren \Trash) "." Trash
* LIST (\HasNoChildren \Junk) "." Junk
* LIST (\HasNoChildren \Archive) "." Archives
* LIST (\HasNoChildren \Sent) "." Sent
* LIST (\HasNoChildren \Drafts) "." Drafts
* LIST (\HasNoChildren) "." INBOX
c OK List completed (0.001 + 0.000 secs).
d logout
* BYE Logging out
d OK Logout completed (0.001 + 0.000 secs).


POP-port 995-SSL/TLS

Abordons le cas de POP abordé via l'approche SSL/TLS par le port 995. On va utiliser "openssl" pour cette connexion.

Voici le script:


#!/usr/bin/expect -f
spawn /usr/bin/openssl s_client -crlf -connect mail.home.dom:995 -quiet
sleep 1
send -- "user pdupont\n"
sleep 1
send -- "pass XXXXXXXX\n"
sleep 1
send -- "list\n"
sleep 1
send -- "stat\n"
sleep 1
send -- "quit\n"
sleep 1
expect EOF

Et voici la sortie:


spawn /usr/bin/openssl s_client -crlf -connect mail.home.dom:995 -quiet
Connecting to 192.168.1.100
depth=1 CN=CA.home.dom, emailAddress=pdupont@home.dom, OU=Dupont, O=Home, L=Namur, ST=Belgique, C=BE
verify return:1
depth=0 CN=mail.home.dom, emailAddress=pdupont@home.dom, OU=Dupont, O=Home, L=Namur, ST=Belgique, C=BE
verify return:1
+OK Dovecot ready.
user pdupont
+OK
pass XXXXXXXX
+OK Logged in.
list
+OK 0 messages:
.
stat
+OK 0 0
quit
+OK Logging out.


IMAP-port 993-SSL/TLS

Abordons le cas de IMAP abordé via l'approche SSL/TLS par le port 993. On va utiliser "openssl" pour cette connexion.

Voici le script:


#!/usr/bin/expect -f
spawn /usr/bin/openssl s_client -crlf -connect mail.home.dom:993 -quiet
sleep 1
send -- "a login pdupont XXXXXXXX\n"
sleep 1
send -- "b capability\n"
sleep 1
send -- "c list * *\n"
sleep 1
send -- "d logout\n"
sleep 1
expect EOF

Et voici la sortie:


spawn /usr/bin/openssl s_client -crlf -connect mail.home.dom:993 -quiet
Connecting to 192.168.1.100
depth=1 CN=CA.home.dom, emailAddress=pdupont@home.dom, OU=Dupont, O=Home, L=Namur, L=Bambois, ST=Belgique, C=BE
verify return:1
depth=0 CN=mail.home.dom, emailAddress=pdupont@home.dom, OU=Dupont, O=Home, L=Namur, ST=Belgique, C=BE
verify return:1
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
a login pdupont XXXXXXXX
a OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE] Logged in
b capability
* CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY PREVIEW STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE
b OK Capability completed (0.001 + 0.000 secs).
c list * *
* LIST (\HasNoChildren \Trash) "." Trash
* LIST (\HasNoChildren \Junk) "." Junk
* LIST (\HasNoChildren \Archive) "." Archives
* LIST (\HasNoChildren \Sent) "." Sent
* LIST (\HasNoChildren \Drafts) "." Drafts
* LIST (\HasNoChildren) "." INBOX
c OK List completed (0.001 + 0.000 secs).
d logout
* BYE Logging out
d OK Logout completed (0.001 + 0.000 secs).




retour au menu de Dovecot