Como testar IMAP via telnet?

Desenvolvimento TI

Objetivo: Fazer teste de funcionamento do servidor IMAP por meio do comando telnet

Requisitos:

  • linux -> bash, openssl
  • windows -> não testei, mas pode funcionar no git-bash

A princípio vou deixar uma função em bash para você utilizar, grave em um arquivo smtp-test.sh e salve, depois

ct_imap_test_ssl() {
: ${1?: '<imap servername>'}
: ${2?: '<email>'}
: ${3:-'993'}
echo "Digite a senha do email:"
read password

openssl s_client -connect $1:993 -quiet <<EOF
a1 LOGIN $2 $password
a2 LIST "" "*"
a3 LOGOUT
EOF
}

Para usar a função:

. ./smtp-test.sh
ct_imap_test_ssl mail.seu-servidor.com [email protected]

Digite a senha do email: ***********

depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority
verify return:1
depth=1 C = US, ST = TX, L = Houston, O = "cPanel, Inc.", CN = "cPanel, Inc. Certification Authority"
verify return:1
depth=0 CN = seuservidor.com
verify return:1
* OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE NAMESPACE LITERAL+ AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
a1 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 STATUS=SIZE NAMESPACE LITERAL+ NOTIFY SPECIAL-USE COMPRESS=DEFLATE QUOTA] Logged in
* LIST (\HasChildren) "." INBOX
* LIST (\HasNoChildren \Junk) "." INBOX.spam
* LIST (\HasNoChildren \Trash) "." INBOX.Trash
* LIST (\HasNoChildren \Sent) "." INBOX.Sent
* LIST (\HasNoChildren) "." INBOX.Junk
* LIST (\HasNoChildren \Drafts) "." INBOX.Drafts
* LIST (\HasNoChildren \Archive) "." INBOX.Archive
a2 OK List completed (0.001 + 0.000 + 0.006 secs).
* BYE Logging out
a3 OK Logout completed (0.001 + 0.000 secs).

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *