Linha de Comando em Linux: Usando ssmtp para Enviar E-mail com sendmail ou mail

Iremos usar usar ferramentas como sendmail ou mail para enviarmos e-mails usando apenas linha de comando em linux. Iremos usar um email do gmail.com como remetente.

Configurando o E-mail

Se não  possuir, crie uma conta, de preferência do gmail, para servir nos testes abaixo.

Criei o email meubackupcaseiro@gmail.com. Agora basta configurar.

  1. Acesse sua conta do gmail
  2. Clique onde está ou estaria sua foto de perfil e em depois em “Gerenciar sua Conta do Google”

     

     

  3. Agora clique na aba “segurança” em seguida ative o “Acesso a app menos seguro

    Acima, tem que ficar como “Ativado”.

Instalando o ssmtp

Precisaremos de um programa de envio(smtp) de email. Usaremos o ssmtp.

  1. Instale o ssmtp
    elder@ubuntu:~$ sudo  apt install ssmtp  -y
  2. Com seu editor preferido, abra o arquivo de configuração “/etc/ssmtp/ssmtp.conf“. Usarei o vim como editor. Mas pode usar o nano ou outro de uso mais fácil.
    elder@ubuntu:~$ sudo vim /etc/ssmtp/ssmtp.conf
  3. Deixe seu arquivo parecido com esse
    #
    # Configuracao de sSMTP sendmail
    #
    # The person who gets all mail for userids < 1000
    # Make this empty to disable rewriting.
    root=postmaster
    
    # The place where the mail goes. The actual machine name is required no 
    # MX records are consulted. Commonly mailhosts are named mail.domain.com
    mailhub=smtp.gmail.com:587
    
    # Where will the mail seem to come from?
    #rewriteDomain=
    
    # The full hostname
    hostname=gmail.com
    UseSTARTTLS=yes
    # Are users allowed to set their own From: address?
    # YES - Allow the user to specify their own From: address
    # NO - Use the system generated From: address
    FromLineOverride=YES
    AuthUser=meubackupcaseiro@gmail.com
    AuthPass=****** digite_sua_senha_aqui
    
  4. Faça um teste de envio
    elder@ubuntu:~$ echo "isto e um email de teste" | mail -s "testes mail" elder....@outlook.com

    Onde,
    echo “isto e um e-mail de teste” =  o comando echo exibe o texto entre aspas
    | = Essa barra é conhecida como pipe(pronuncia-se paipe). Pipe significa cano, tubo….
    mail = Ferramenta de envio de e-mail. O comando mail recebe o conteúdo de echo através do pipe
    -s “testes mail” =  s de subject(assunto). O assunto do e-mail é testes mail.
    elde….@outlook.com = o e-mail da pessoa que receberá minha mensagem.

  5. Se quisesse usar o sendmail bastara executar
    echo "Laboratorio de email de testes" | sendmail  -f "elder@teste"   elder....@outlook.com

 

Manual do Arquivo ssmtp.conf

Acima alteramos ligeiramente o arquivo “/etc/ssmtp/ssmtp.conf“. Porém há diversas outras opções que podemos usar dentro desse arquivo; como Root, Mailhub, RewriteDomain, Hostname, UseTLS etc…

Veja o manual para mais detalhes

 man ssmtp.conf

Conclusão

O envio de e-mails via linha de comando é importante principalmente para envio de alertas ou relatórios do servidor. Porém, uma coisa comum de acontecer é o e-mail ir parar no lixo eletrônico do destinatário.

É bom lembrar sobre o risco da senha que fica armazenada dentro do arquivo /etc/ssmtp/ssmtp.conf. Costumo sempre usar um e-mail dedicado apenas para envio de alertas, separando-o do uso pessoal.

 

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *