Costumo usar telnet ou netcat para conectar servidores smtp para enviar um email como teste.
Alguém sabe como você enviaria um email usando telnet ou netcat, mas também anexaria um arquivo ? Provavelmente existem maneiras melhores, mas ainda quero saber :-)
Eu ficaria feliz com uma solução que usa um pouco de shell bash para atingir o objetivo, mas não quero usar outras ferramentas ...
Respostas:
Ok, então usando os comentários de todos como ponto de partida, eu vim com essa bagunça boba :-) ...
fonte
Ick. Você precisará codificar o anexo em base64 e criar os cabeçalhos MIME.
Em vez de gerar uma nova mensagem "on the fly" a cada vez, provavelmente seria mais fácil enviar uma mensagem de exemplo muito curta de um programa de email "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-o no telnet ou no netcat para sessões futuras.
fonte
Embora o teste manual de servidores SMTP manualmente seja possível e viável, o uso de uma ferramenta projetada para isso será muito mais fácil.
Este artigo explica SWAKS . O swaks foi desenvolvido para testes do servidor smtp. Suporta anexos, autenticação e criptografia!
fonte
entrei nessa entrada enquanto procurava algo do mesmo. e dos awnsers aqui e algumas pesquisas adicionais eu consegui fazer esse script.
Uma coisa que você pode querer adicionar é a autenticação. Eu não preciso disso, então eu não o adicionei.
Eu acho que só requer md5sum , netcat , file , awk e os comandos base64 , acho que eles são bastante padrão na maioria dos sistemas.
fonte
É isso que estou fazendo para enviar email com o bash. Eu o uso para me enviar um arquivo de log e um endereço IP externo, fique à vontade para usá-lo:
Espero que tenha sido bom para você;)
psirac.
fonte
Telnet - envie email com vários anexos
fonte
Você precisará revisar a especificação do protocolo SMTP. É uma leitura surpreendentemente leve para uma especificação técnica e ajudará você a entender como o processo de email funciona.
Especificamente, saiba que os anexos são convertidos em tipos MIME e codificados em texto; portanto, todos os anexos que você deseja enviar via telnet precisam ser convertidos em texto e transmitidos como tal através do protocolo telnet.
fonte
Se tudo o que você está testando é 'o anexo foi entregue', é possível que você se acostume a usar o padrão pré-MIME de anexos: uuencode. Ao contrário do MIME, é muito mais simples criar mensagens. Ao contrário do MIME, ele não requer cabeçalhos. No entanto, nem todos os clientes de email reconhecem mais os arquivos codificados como anexos, por isso sugiro testar para ver se você pode usá-lo. Nesse caso, você acabou de economizar muito esforço. Caso contrário, pré-construir sua mensagem MIMEed via perl ou algo assim e canalizá-la através de algo como o NetCat é provavelmente o caminho a percorrer.
Vale uma olhada.
fonte
Há um script Perl maravilhoso para este trabalho. Você pode encontrá-lo aqui:
http://www.logix.cz/michal/devel/smtp-cli/
smtp-cli v2.9
Script é do autor: Michal Ludvig (c) 2003-2011 http://smtp-cli.logix.cz
Eu o uso pessoalmente e é ótimo, graças a Michal;)
fonte