Enviar un correo electrónico con un archivo adjunto usando telnet o netcat

Enviar un correo electrónico con un archivo adjunto usando telnet o netcat

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

información relacionada