A menudo uso telnet o netcat para conectar servidores smtp y enviar un correo electrónico como prueba.
¿Alguien sabe cómo enviarías un correo electrónico usando telnet o netcat?pero adjunte un archivo también? Probablemente haya mejores formas, pero todavía quiero saberlo :-)
Estaría contento con una solución que use un pequeño shell bash para lograr el objetivo, pero no quiero usar ninguna otra herramienta...
Respuesta1
Bien, usando los comentarios de todos como punto de partida se me ocurrió este lío tonto :-) ...
{
sleep 5;
echo 'ehlo';
sleep 3;
echo 'MAIL FROM:<[email protected]>';
sleep 3;
echo 'RCPT TO: <kyle@test_dest.com>';
sleep 3;
echo 'DATA';
sleep 3;
echo -e 'To:[email protected]\nMIME-Version: 1.0 (mime-construct 1.9)\nContent-Type: application/zip\nContent-Transfer-Encoding: base64\n\n';
dd if=/dev/urandom bs=4 count=10 2>/dev/null | openssl base64;
echo '.';
} | telnet mx1.testdest.com 25
Respuesta2
Joder. Tendrás que codificar en base64 el archivo adjunto y crear los encabezados MIME.
En lugar de generar un mensaje nuevo "sobre la marcha" cada vez, probablemente sería más fácil enviarse por correo electrónico 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 colocar el archivo adjunto). en la codificación adecuada y creando 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 sesiones futuras.
Respuesta3
Si bien es posible y viable probar manualmente los servidores SMTP, 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 servidores SMTP. ¡Admite archivos adjuntos, autenticación y cifrado!
Respuesta4
Telnet: envía correos electrónicos con múltiples archivos adjuntos
archivo adjunto gato.zip | base64 > zip.txt archivo adjunto para gatos.pdf | base64 > pdf.txt # Tipo de contenido: texto/csv; nombre="$FILE" # para archivos CSV # Tipo de contenido: aplicación/x-msdownload; nombre="$FILE" # para ejecutable # Tipo de contenido: texto/xml; name="$FILE" # para archivos xml o pruebe application/xml telnet smtp.servidor.dom 25 HOLA CORREO DE:[correo electrónico protegido] RCPT A:[correo electrónico protegido] DATOS Asunto: correo electrónico de prueba De:[correo electrónico protegido] A:[correo electrónico protegido] Versión MIME: 1.0 Tipo de contenido: multiparte/mixto; límite="X-=-=-=-límite de texto" --X-=-=-=-límite de texto Tipo de contenido: texto/sin formato Deja tu mensaje aquí... --X-=-=-=-límite de texto Tipo de contenido: aplicación/zip; nombre="archivo.zip" Codificación de transferencia de contenido: base64 Contenido-Disposición: adjunto; nombre de archivo="archivo.zip" UEsDBBQAAAAIAG1+zEoQa.... copiar/pegar zip.txt --X-=-=-=-límite de texto Tipo de contenido: texto/pdf; nombre="archivo.pdf" Codificación de transferencia de contenido: base64 Contenido-Disposición: adjunto; nombre de archivo="archivo.pdf" UEsDBBQAAAAIAG1+zEoQa.... copiar/pegar pdf.txt --X-=-=-=-límite de texto . ABANDONAR