Enviando email via terminal de comandos

Publicado por Felipe Pestana em 28/08/2011

[ Hits: 23.032 ]

Blog: https://www.sitic.com.br

 


Enviando email via terminal de comandos



Resolvi registrar a dica, pois precisei muito desse tipo de coisa e acabei demorando pra resolver a coisa.

Se você precisa de um serviço de envio de email via terminal de comandos, independente da finalidade (no meu caso foi pra controle de acesso e login no meu server), aí vai um passo a passo pra uso do ssmtp.

Lembrete: A dica é focada em Debian Squeeze. Caso sua distro seja outra, é muito fácil achar o ssmtp por aí! Viva o Google! \o/

Primeiro, precisamos instalá-lo, certo? Muito simples:

# apt-get install ssmtp

Depois, abra um editor de textos de sua preferência para acertarmos as configs do SSMTP:

# nano /etc/ssmtp/ssmtp.conf

hostname=localhost#essa linha já existe, altere-a se quiser


No fim do arquivo, incluam as seguintes linhas:

rewriteDomain=gmail.com #seu provedor de email (ex. gmail.com)
AuthUser=usuario@gmail.com # seu email completo!
AuthPass=senha # sua senha em modo texto normal

# daqui pra baixo, as linhas permanecem dessa maneira.
AuthMetod=plain
FromLineOverride=NO
Mailhub=smtp.gmail.com:465
UseTLS=YES


Salve e feche o arquivo.

Agora vamos ao "/etc/ssmtp/revaliases".

Esse cara aqui precisa ser incluído uma única linha para o correto funcionamento do ssmtp (acho que é aqui que o pessoal se perde/esquece).

Dentro dele, no final, adicione a linha:

root:usuario@gmail.com:smtp.gmail.com:465


Lembre-se que o usuário em questão é o mesmo configurado no arquivo anterior.

Pronto, agora você pode enviar emails via linha de comando. Mas como?

Simples pequeno padawan.

# ssmtp usuario@provedor.com.br < mail.txt

O arquivo mail.txt deve conter as seguintes estrutura:

To: usuario@provedor.com.br # para quem será enviado o email.
Subject: Assunto do email.
Sua mensagem de email para ser enviada é digitada aqui, a partir desse texto em diante.


Salve o arquivo com o nome de "mail.txt" (ou o nome que você queira) e pronto.

Espero que essa dica tenha sido tão útil quanto foi pra mim.

[]'s e que a força esteja com vocês.


Outras dicas deste autor

Configurando sua placa de som no Debian

Instalando o Mercury MSN no Debian (ou derivadas)

Instalação do NO-IP.com no Debian Etch em 6 passos

Instalando seu NVIDIA GeForce no Debian

KDE 4 no Debian Lenny rápido e simples

Leitura recomendada

mimeit - enviando e-mail com anexo via linha de comando

Criando uma conta de auditoria de e-mails

Configurando o Thunderbird para trabalhar com contas Hotmail

Restringindo um domínio no Zimbra 5.0 a enviar e-mail externo

Configurar Postfix + Sendmail para envio de e-mails em scripts

  

Comentários
[1] Comentário enviado por joaodanielneves em 17/09/2011 - 21:34h

Legal. Salvou me!

[2] Comentário enviado por josephseraos em 26/01/2012 - 20:47h

Eu segui os passos e o cliente me retornou a seguinte mensagem de erro:

ssmtp: Authorization failed (535 5.7.1 http://support.google.com/mail/bin/answer.py?answer=14257 o9sm9352418yhk.20)

Obs. sobre o artigo: Não ficou claro se na linha

# ssmtp usuario@provedor.com.br < mail.txt

usuario é quem envia ou quem recebe.

Obrigado,
Joseph

[3] Comentário enviado por josephseraos em 26/01/2012 - 20:54h

Opa, consegui. A senha estava incorreta. Mas esta é a única maneira de armazená-la? Sabemos que não é a melhor maneira. Mas muito obrigado. Ajudou bastante


[4] Comentário enviado por josephseraos em 26/01/2012 - 21:32h

E se eu quisesse enviar um anexo? Uma imagem, um vídeo, quem sabe? Você saberia dizer que mudanças deveriam ser feitas?

[5] Comentário enviado por pes em 02/02/2012 - 16:44h

@josephseraos No caso da senha, menos mau. Pelos meus testes aqui, funcionou normal, pois tinha usado uma conta da minha empresa aqui mesmo. Do gmail eu não cheguei a testar mas ia te falar que poderia ser mesmo senha, ou a config das portas e autenticação (as do gmail são diferentes)...
Agora, quanto ao usuario@provedor.com.br é referente à quem vai receber o email. Quem envia está no arquivo.
Em relação à anexos, eu já não sei se ele envia, pois na verdade, a ídeia de usar esse sistema é somente para envio do notificações e relaórios de acessos ao meu email, para auditoria e nada mais.

[]'s

[6] Comentário enviado por cainf em 13/02/2012 - 17:02h

E para enviar para mais destinatário com cópia oculta ???

abraço

[7] Comentário enviado por pes em 14/02/2012 - 09:54h

Olá @cainf.

É só adicionar a linha Cco: embaixo de To: e tá resolvido.
Agora, em relação a mandar pra mais de uma pessoa, eu não sei, mas acho que só seguir o padrão do email, colocando no campo os emails separados por ;

[]'s

[8] Comentário enviado por cainf em 14/02/2012 - 10:22h

Eu coloquei essa opção Coo: e no To ; não foi apenas chegou para um email

[9] Comentário enviado por pes em 14/02/2012 - 10:40h

@cainf Mas num é Coo é Cco...

[10] Comentário enviado por cainf em 14/02/2012 - 10:41h

Desculpe errei a digitação coloquei Cco mesmo e nao foi

[11] Comentário enviado por pes em 14/02/2012 - 10:47h

@cainf Putz cara, foi meu... Erro meu... O parâmetro é Bcc e não Cco...

[12] Comentário enviado por cainf em 14/02/2012 - 10:54h

Tb não foi :(



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts