Enviar email via netcat no shell do Linux

image_pdfimage_print

Existem várias maneiras de enviar email via console/terminal do Linux.

Iremos abaixo apresentar uma das formas, usando o poderoso netcat. Este comando é um utilitário utilizado para trabalhar com conexões dos protocolos udp e tcp.

E para usá-lo para enviar um email, basta:

# nc localhost 25 << EOF
HELO email.drall.com.br
MAIL FROM: hello@drall.com.br
RCPT TO: nosso_amigo@legal.com.br
DATA
Mensagem ou corpo do email
.
QUIT
EOF

No exemplo acima, utilizamos o envio direto de email para o servidor de email utilizando a porta 25 que é a SMTP.

Uma nota importante é que o comando nc não envia CRLF no final de cada linha, o que quase não afeta a maioria dos servidores Linux. Mas servidores Windows exigem o envio do CRLF ao final de cada linha para que funcione.

Em servidores Windows com Exchange, por exemplo, seria necessário enviar os caracteres \r\n do final de cada linha ou utilizar o parâmetro ‘-C’ do netcat que fará o envio do CRFL automaticamente.

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!