Envie um email com um arquivo anexado usando telnet ou netcat

Envie um email com um arquivo anexado usando telnet ou netcat

Costumo usar telnet ou netcat para conectar servidores SMTP para enviar um email como teste.

Alguém sabe como você enviaria um e-mail usando telnet ou netcatmas anexe um arquivo também? Provavelmente existem maneiras melhores, mas ainda quero saber :-)

Eu ficaria feliz com uma solução que usasse um pequeno shell bash para atingir o objetivo, mas não quero usar nenhuma outra ferramenta...

Responder1

Ok, então usando os comentários de todos como ponto de partida eu criei essa bagunça boba :-) ...

{ 
    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

Responder2

Eca. Você terá que codificar o anexo em base64 e criar os cabeçalhos MIME.

Em vez de gerar uma nova mensagem "instantaneamente" a cada vez, provavelmente seria mais fácil simplesmente enviar por e-mail para si mesmo um exemplo de mensagem muito curta de um programa de e-mail "real" (aproveitando o trabalho que as pessoas que a escreveram fizeram para colocar o anexo na codificação adequada e na criação dos cabeçalhos MIME).

Salve essa mensagem em um arquivo de texto com seus cabeçalhos (removendo o cabeçalho de transporte, é claro) e apenas modifique/copie/cole-a no telnet ou netcat para sessões futuras.

Responder3

Embora testar manualmente servidores SMTP seja possível e viável, usar uma ferramenta projetada para isso será muito mais fácil.

Este artigo explica SWAKS. swaks foi projetado para testes de servidores SMTP. Suporta anexos, autenticação e criptografia!

Responder4

Telnet - envie e-mail com vários anexos

anexo de gato.zip | base64 > zip.txt
anexo de gato.pdf | base64 > pdf.txt

# Tipo de conteúdo: texto/csv; name="$FILE" # para arquivos CSV
# Tipo de conteúdo: aplicativo/x-msdownload; name="$FILE" # para executável
# Tipo de conteúdo: texto/xml; name="$FILE" # para arquivos xml ou tente application/xml

telnet smtp.servidor.dom 25

OLÁ
MAIL DE:[e-mail protegido]
RCPT PARA:[e-mail protegido]
DADOS
Assunto: E-mail de teste
De:[e-mail protegido]
Para:[e-mail protegido]
Versão MIME: 1.0
Tipo de conteúdo: multipart/misto; limite="X-=-=-=-limite de texto"

--X-=-=-=-limite de texto
Tipo de conteúdo: texto/simples

Coloque sua mensagem aqui...

--X-=-=-=-limite de texto
Tipo de conteúdo: aplicativo/zip; nome = "arquivo.zip"
Codificação de transferência de conteúdo: base64
Disposição do conteúdo: anexo; nome do arquivo = "arquivo.zip"

UEsDBBQAAAAIAG1+zEoQa.... copiar/colar zip.txt

--X-=-=-=-limite de texto
Tipo de conteúdo: texto/pdf; nome = "arquivo.pdf"
Codificação de transferência de conteúdo: base64
Disposição do conteúdo: anexo; nome do arquivo = "arquivo.pdf"

UEsDBBQAAAAIAG1+zEoQa.... copiar/colar pdf.txt

--X-=-=-=-limite de texto
.

DESISTIR

informação relacionada