Mutt no envía correo electrónico al especificar el servidor SMTP

Mutt no envía correo electrónico al especificar el servidor SMTP

Estoy intentando utilizarlo muttcomo cliente de correo electrónico y funciona bien para mi cuenta de Gmail. Pero cuando uso mi correo electrónico del trabajo, no envía los correos electrónicos. No da ningún error, simplemente no los envía. La línea en mi .muttrcarchivo que causa este problema es:

establecer smtp_url = "smtp://mail.my_work_email_server.com:587"

El comportamiento no cambia al agregar el correo electrónico smtp_pass, ni tampoco al alterar el nombre del servidor de correo electrónico (es decir, al usar una dirección de servidor "ficticia").

Respuesta1

A mí me pasó lo mismo y esto es lo que funcionó para mí.

set ssl_starttls=yes
set ssl_force_tls=yes

set imap_user = "[email protected]"
set imap_pass = "!HASHEDPASSWORD!"
set folder = imap://mail.example.com/
set spoolfile = imap://mail.example.com/INBOX

# SMTP user auth
# # fill in the right user and pass based on your setup
# # protocols: smtp for TLS (25/587), smtps for SSL (465)
set smtp_url = "smtp://[email protected]:587"
set smtp_pass = "$imap_pass"

# Where to save copies of outgoing mail
set record = '+Sent'

Lo que hizo que NO funcionara para mí fue el orden en que estaban las cosas en el archivo de configuración y una definición de "establecer registro" en una carpeta que era un enlace a una carpeta no existente.

Al responder "no" a la pregunta sobre la creación de la carpeta, ésta se colgó y no se vio tráfico hacia el servidor SMTP.

PD: verifique los archivos de configuración de origen, pueden especificar configuraciones conflictivas y/o en el orden incorrecto.

HT

Respuesta2

¿Puede enviar correo correctamente a través de SMTP con otro cliente de correo en esa máquina? ¿Puede hacer telnet a su servidor SMTP y establecer una conexión? ¿Estás usando STARTTLS?

En mutt, se utiliza el protocolo smtpspara indicar una conexión que está protegida desde el principio con TLS/SSL. Si su servidor de correo espera eso (y muchos lo hacen hoy en día), ese podría ser su problema.

Sin embargo, si su servidor de correo espera utilizar STARTTLS, utilice el smtp://protocolo normal smtp_urly asegúrese de hacerlo set ssl_starttls=yes.

Aquí hay una telnetsesión de ejemplo que muestra un servidor de correo que usa STARTTLS:

$ telnet smtp.example.com 587
Trying 127.0.0.1...
Connected to smtp.example.com.
Escape character is '^]'.
220 smtp.example.com ESMTP Postfix (Debian/GNU)
EHLO test
250-
250-PIPELINING
250-SIZE 10240000
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

Respuesta3

Pasé un día entero resolviendo esto y modificando MUCHAS combinaciones entre diferentes SSL/TLS y configuraciones de puertos sin éxito, hasta que hoy finalmente probé esto específicamente:

set ssl_starttls = no

Parece que el comportamiento predeterminado de Mutt es probar STARTTLS, por lo que debes decírselo específicamente.NO

No se necesitaba ninguna otra configuración además de la obvia smtp_urly smtp_pass. Ahora puedo perfectamente enviar correo con esto..muttrc

set ssl_starttls = no
set smtp_url = "smtp://[email protected]@mail.example.com:587/"
set smtp_pass = "password"

Eso funcionó con elNo recomendadoconfiguraciones de SSL de mi proveedor de correo electrónico. Todavía no puedo usar la configuración recomendada usando el puerto 465.

Estas son todas las configuraciones que he modificado y que afectan el envío de correo, si alguien más quiere probar:

set ssl_starttls = no    # apparently yes is default.
set ssl_force_tls = yes
set smtp_authenticators = "login"

set smtp_url = "smtp[s]://..."
set certificate_file = "~/.mutt/certificates"    # some recommend creating the file first: mkdir ~/.mutt && touch ~/.mutt/certificates

set ssl_verify_host = no
set ssl_verify_dates = no

Respuesta4

Me doy cuenta de que este es un hilo antiguo, pero ayer pasé dos horas investigando por qué las configuraciones mencionadas anteriormente no funcionaron para mí y quiero compartir la solución para ahorrar tiempo a otras personas.

El problema era que necesitaba aceptar el certificado del servidor SMTP de Google al menos una vez, y esto requiere ejecutar mutt sin redirigir su entrada; de lo contrario, mutt no puede solicitarle que acepte el certificado.

Por cierto, debes seleccionar (a) para siempre, para que el certificado se almacene en formato .mutt/certificates. Si selecciona (o) por una vez, utilizará el certificado proporcionado, pero no lo almacenará en formato  .mutt/certificates.

Entonces ejecute mutt sin redirigir la entrada (esto incluye la conexión a la entrada estándar), luego acepte el certificado ofrecidoaSiempre. Después de eso, la próxima vez que ejecute mutt, debería funcionar porque está utilizando el certificado almacenado.

información relacionada