Mostrando postagens com marcador ssmtp. Mostrar todas as postagens
Mostrando postagens com marcador ssmtp. Mostrar todas as postagens

domingo, 26 de julho de 2009

Enviando email pela linha de comando usando o sSMTP

O sSMTP é um programa para Linux capaz de enviar um e-mail via um agente de transporte de e-mail (MTA) externo, sendo uma opção para as mensagens de correio do sistema, como também para enviar mensagens pela linha de comando.

Primeiro instale, caso ainda não esteja, o pacote do sSMTP em seu sistema. Na distro Fedora pode ser com o comando "yum install ssmtp" digitado no prompt do console.

Edite o arquivo de configuração "/etc/ssmtp/ssmtp.conf" de acordo com o seu servidor SMTP. O exemplo abaixo serve para o Gmail.com:

root=seunome@gmail.com
mailhub=smtp.gmail.com:465
RewriteDomain=gmail.com
Hostname=localhost
FromLineOverride=YES
UseTLS=YES
AuthUser=seunome@gmail.com
AuthPass=suasenha

Uma recomendação é proteger o arquivo de configuração para que nenhum usuário em sua máquina consiga ler. Faça com o comando abaixo:

# chmod 600 /etc/ssmtp/ssmtp.conf

Para enviar um e-mail basta executar o comando "ssmtp" como super-usuário, ele apresentará um prompt para a entrada da mensagem. Digite como no modelo abaixo, sendo necessário pular uma linha entre o cabeçalho e o corpo da mensagem:

To: email-destino@dominio.com
From: seunome@gmail.com
Subject: Seu assunto

Pule uma linha e escreva aqui sua mensagem.
Pressionando Enter adiciona outra linha no corpo.

Para encerrar pressione as teclas "Ctrl+D". O sSMTP irá enviar então sua mensagem.

Outra opção para gerar o e-mail é criar um arquivo texto colocando em seu conteúdo a sua mensagem, respeitando a mesma estrutura. Desta forma direcione o arquivo texto para o comando do sSMTP em sua execução. Como abaixo:

# ssmtp email-destino@dominio.com < email.txt

Para que um usuário sem privilégios de administrador possa enviar e-mails com o sSMTP, é necessário que o usuário tenha o seu próprio arquivo de configuração do sSMTP e então acioná-lo na execução do comando. Veja exemplo:

$ ssmtp -C ssmtp.conf email-destino@dominio.com < email.txt

A utilidade deste uso do sSMTP pode estar, por exemplo, em fazer sua máquina enviar avisos automaticamente quando você estiver longe dela, simplesmente recebendo e-mails.