IMAP / POP3
Probar el acceso al buzón: inicio de sesión, capacidades, carpetas y STARTTLS.
Probar el inicio de sesión IMAP
Inicia sesión en un buzón y lista las carpetas: comprueba de una vez la accesibilidad, las credenciales y los permisos.
IMAPS (993)
- Host / servidor
-
mail.example.comCambiar en el generador → - Buzón / usuario
-
user@example.comCambiar en el generador →
PowerShell (Windows)
SslStream (.NET) Integrado
$h = "mail.example.com"; $p = 993
$c = New-Object Net.Sockets.TcpClient($h, $p)
$ssl = New-Object Net.Security.SslStream($c.GetStream(), $false, ({ $true }))
$ssl.AuthenticateAsClient($h)
$r = New-Object IO.StreamReader($ssl)
$w = New-Object IO.StreamWriter($ssl); $w.NewLine = "`r`n"; $w.AutoFlush = $true
$r.ReadLine()
$w.WriteLine('a1 LOGIN user@example.com "P@ssw0rd"'); $r.ReadLine()
$w.WriteLine("a2 LIST \"\" *"); Start-Sleep -Milliseconds 400; while ($c.Available) { $r.ReadLine() }
$w.WriteLine("a3 LOGOUT"); $c.Close() openssl Herramienta adicional
openssl s_client -crlf -connect mail.example.com:993 Shell de Unix (bash)
openssl Integrado
openssl s_client -crlf -quiet -connect mail.example.com:993 <<'EOF'
a1 LOGIN user@example.com "P@ssw0rd"
a2 LIST "" *
a3 LOGOUT
EOF curl Herramienta adicional
curl -v --url "imaps://mail.example.com:993" --user "user@example.com" Microsoft 365
- Host / servidor
-
outlook.office365.comCambiar en el generador → - Buzón / usuario
-
user@contoso.comCambiar en el generador →
PowerShell (Windows)
SslStream (.NET) Integrado
$h = "outlook.office365.com"; $p = 993
$c = New-Object Net.Sockets.TcpClient($h, $p)
$ssl = New-Object Net.Security.SslStream($c.GetStream(), $false, ({ $true }))
$ssl.AuthenticateAsClient($h)
$r = New-Object IO.StreamReader($ssl)
$w = New-Object IO.StreamWriter($ssl); $w.NewLine = "`r`n"; $w.AutoFlush = $true
$r.ReadLine()
$w.WriteLine('a1 LOGIN user@contoso.com "P@ssw0rd"'); $r.ReadLine()
$w.WriteLine("a2 LIST \"\" *"); Start-Sleep -Milliseconds 400; while ($c.Available) { $r.ReadLine() }
$w.WriteLine("a3 LOGOUT"); $c.Close() openssl Herramienta adicional
openssl s_client -crlf -connect outlook.office365.com:993 Shell de Unix (bash)
openssl Integrado
openssl s_client -crlf -quiet -connect outlook.office365.com:993 <<'EOF'
a1 LOGIN user@contoso.com "P@ssw0rd"
a2 LIST "" *
a3 LOGOUT
EOF curl Herramienta adicional
curl -v --url "imaps://outlook.office365.com:993" --user "user@contoso.com" Sustituya P@ssw0rd por la contraseña real. Microsoft 365 ha desactivado la autenticación Basic para IMAP; allí se necesita OAuth 2.0, así que un simple intento de LOGIN falla como es de esperar.
Capacidades IMAP
Muestra las capacidades que anuncia el servidor, incluidos los métodos de autenticación admitidos (AUTH=PLAIN, AUTH=XOAUTH2 ...).
IMAPS (993)
- Host / servidor
-
mail.example.comCambiar en el generador →
PowerShell (Windows)
SslStream (.NET) Integrado
$h = "mail.example.com"; $p = 993
$c = New-Object Net.Sockets.TcpClient($h, $p)
$ssl = New-Object Net.Security.SslStream($c.GetStream(), $false, ({ $true }))
$ssl.AuthenticateAsClient($h)
$r = New-Object IO.StreamReader($ssl)
$w = New-Object IO.StreamWriter($ssl); $w.NewLine = "`r`n"; $w.AutoFlush = $true
$r.ReadLine()
$w.WriteLine("a1 CAPABILITY"); Start-Sleep -Milliseconds 300; while ($c.Available) { $r.ReadLine() }
$w.WriteLine("a2 LOGOUT"); $c.Close() openssl Herramienta adicional
openssl s_client -crlf -connect mail.example.com:993 Shell de Unix (bash)
openssl Integrado
printf 'a1 CAPABILITY\r\na2 LOGOUT\r\n' | openssl s_client -crlf -quiet -connect mail.example.com:993 2>/dev/null curl Herramienta adicional
curl -sv --url "imaps://mail.example.com:993" 2>&1 | grep -i capability Estado del buzón
Consulta el número de mensajes y de no leídos en la bandeja de entrada: útil para confirmar una entrega.
- Host / servidor
-
mail.example.comCambiar en el generador → - Buzón / usuario
-
user@example.comCambiar en el generador →
PowerShell (Windows)
SslStream (.NET) Integrado
$h = "mail.example.com"; $p = 993
$c = New-Object Net.Sockets.TcpClient($h, $p)
$ssl = New-Object Net.Security.SslStream($c.GetStream(), $false, ({ $true }))
$ssl.AuthenticateAsClient($h)
$r = New-Object IO.StreamReader($ssl)
$w = New-Object IO.StreamWriter($ssl); $w.NewLine = "`r`n"; $w.AutoFlush = $true
$r.ReadLine()
$w.WriteLine('a1 LOGIN user@example.com "P@ssw0rd"'); $r.ReadLine()
$w.WriteLine("a2 STATUS INBOX (MESSAGES UNSEEN)"); Start-Sleep -Milliseconds 400; while ($c.Available) { $r.ReadLine() }
$w.WriteLine("a3 LOGOUT"); $c.Close() curl Herramienta adicional
curl.exe -v --url "imaps://mail.example.com:993/INBOX" --user "user@example.com" --request "STATUS INBOX (MESSAGES UNSEEN)" Shell de Unix (bash)
openssl Integrado
openssl s_client -crlf -quiet -connect mail.example.com:993 <<'EOF'
a1 LOGIN user@example.com "P@ssw0rd"
a2 STATUS INBOX (MESSAGES UNSEEN)
a3 LOGOUT
EOF curl Herramienta adicional
curl --url "imaps://mail.example.com:993/INBOX" --user "user@example.com" --request "STATUS INBOX (MESSAGES UNSEEN)" Sustituya P@ssw0rd por la contraseña real.
Probar POP3
Inicia sesión por POP3 y consulta con STAT el número y el tamaño de los mensajes en espera.
- Host / servidor
-
mail.example.comCambiar en el generador → - Buzón / usuario
-
user@example.comCambiar en el generador →
PowerShell (Windows)
SslStream (.NET) Integrado
$h = "mail.example.com"; $p = 995
$c = New-Object Net.Sockets.TcpClient($h, $p)
$ssl = New-Object Net.Security.SslStream($c.GetStream(), $false, ({ $true }))
$ssl.AuthenticateAsClient($h)
$r = New-Object IO.StreamReader($ssl)
$w = New-Object IO.StreamWriter($ssl); $w.NewLine = "`r`n"; $w.AutoFlush = $true
$r.ReadLine()
$w.WriteLine("USER user@example.com"); $r.ReadLine()
$w.WriteLine("PASS P@ssw0rd"); $r.ReadLine()
$w.WriteLine("STAT"); $r.ReadLine()
$w.WriteLine("QUIT"); $c.Close() openssl Herramienta adicional
openssl s_client -crlf -connect mail.example.com:995 Shell de Unix (bash)
openssl Integrado
openssl s_client -crlf -quiet -connect mail.example.com:995 <<'EOF'
USER user@example.com
PASS P@ssw0rd
STAT
QUIT
EOF curl Herramienta adicional
curl -v --url "pop3s://mail.example.com:995" --user "user@example.com" Sustituya P@ssw0rd por la contraseña real. Según el cliente, POP3 elimina los mensajes tras descargarlos; una simple prueba STAT no lo hace.
IMAP STARTTLS (143)
Establece una conexión STARTTLS en el puerto sin cifrar 143 y muestra el certificado.
- Host / servidor
-
mail.example.comCambiar en el generador →
PowerShell (Windows)
TcpClient (.NET) Integrado
$c = New-Object Net.Sockets.TcpClient("mail.example.com", 143)
$s = $c.GetStream()
$r = New-Object IO.StreamReader($s)
$w = New-Object IO.StreamWriter($s); $w.NewLine = "`r`n"; $w.AutoFlush = $true
$r.ReadLine()
$w.WriteLine("a1 STARTTLS"); $r.ReadLine()
$ssl = New-Object Net.Security.SslStream($s, $false, ({ $true }))
$ssl.AuthenticateAsClient("mail.example.com")
([Security.Cryptography.X509Certificates.X509Certificate2]$ssl.RemoteCertificate) | Format-List Subject, NotAfter
$ssl.Dispose(); $c.Close() openssl Herramienta adicional
openssl s_client -starttls imap -crlf -connect mail.example.com:143 Shell de Unix (bash)
openssl Integrado
openssl s_client -starttls imap -connect mail.example.com:143 </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates curl Herramienta adicional
curl -v --url "imap://mail.example.com:143" --ssl-reqd