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