A menudo uso telnet o netcat para conectar servidores smtp para enviar un correo electrónico como prueba.
¿Alguien sabe cómo enviaría un correo electrónico usando telnet o netcat pero también adjuntaría un archivo ? Probablemente hay mejores formas, pero aún quiero saber :-)
Estaría contento con una solución que usa un pequeño bash shell para lograr el objetivo, pero no quiero usar ninguna otra herramienta ...
Respuestas:
De acuerdo, entonces, usando los comentarios de todos como punto de partida, se me ocurrió este lío tonto :-) ...
fuente
Ick Tendrá que codificar en base64 el archivo adjunto y crear los encabezados MIME.
En lugar de generar un nuevo mensaje "sobre la marcha" cada vez, probablemente sería más fácil enviarse un mensaje de ejemplo muy breve de un programa de correo electrónico "real" (aprovechando el trabajo que hicieron las personas que lo escribieron para poner el archivo adjunto en la codificación adecuada y la creación de los encabezados MIME).
Guarde ese mensaje en un archivo de texto con sus encabezados (eliminando el encabezado de transporte, por supuesto), y simplemente modifíquelo / cópielo / péguelo en telnet o netcat para futuras sesiones.
fuente
Si bien las pruebas manuales de los servidores SMTP son posibles y viables, usar una herramienta diseñada para esto será mucho más fácil.
Este artículo explica SWAKS . swaks está diseñado para pruebas de servidor smtp. Admite archivos adjuntos, autenticación y cifrado.
fuente
Me sorprendió esta entrada mientras buscaba algo de lo mismo. y de las bocinas aquí y algunas investigaciones adicionales logré hacer este guión.
Una cosa que quizás desee agregar es la autenticación. No lo necesito, así que no lo he agregado.
Creo que solo requiere los comandos md5sum , netcat , file , awk y base64 , creo que son bastante estándar en la mayoría de los sistemas.
fuente
Esto es lo que estoy haciendo para enviar correos electrónicos con bash. Lo uso para enviarme un archivo de registro y una dirección IP externa, no dude en usarlo:
Espero que haya sido bueno para ti;)
psirac
fuente
Telnet: envíe un correo electrónico con varios archivos adjuntos
fuente
Deberá revisar la especificación del protocolo SMTP. Es una lectura sorprendentemente ligera para una especificación técnica, y lo ayudará a comprender cómo funciona el proceso de correo electrónico.
Específicamente, tenga en cuenta que los archivos adjuntos se convierten en tipos MIME y se codifican en texto, por lo que cualquier archivo adjunto que desee enviar a través de Telnet tendría que convertirse en texto y transmitirse como tal a través del protocolo Telnet.
fuente
Si todo lo que está probando es "se entregó el archivo adjunto", es posible que se salga con la suya con el estándar de archivos adjuntos pre-MIME: uuencode. A diferencia de MIME, es mucho más simple crear mensajes. A diferencia de MIME, no requiere ningún encabezado. Sin embargo, ya no todos los clientes de correo reconocen los archivos sin codificar como archivos adjuntos, por lo que sugiero probar para ver si puede usarlo. Si es así, te has ahorrado mucho esfuerzo. Si no lo hace, entonces preconstruir su mensaje MIMEed a través de Perl o algo y canalizarlo a través de algo como NetCat es probablemente el camino a seguir.
Digno de una mirada.
fuente
Hay un maravilloso script de Perl para este trabajo. Lo puedes encontrar aquí:
http://www.logix.cz/michal/devel/smtp-cli/
smtp-cli v2.9
El guión es del autor: Michal Ludvig (c) 2003-2011 http://smtp-cli.logix.cz
Lo uso yo mismo y funciona muy bien, gracias a Michal;)
fuente