Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: erro
Por JS1974PT
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Enviando e-mails pelo terminal
Linux user
markintux
28/08/2009
Automatizar tarefas em servidores faz parte do cotidiano de qualquer administrador de redes. Neste artigo descrevo como enviar e-mails pelo terminal utilizando o sendEmail. Mostro também vários exemplos práticos da ferramenta e uma implementação com o cron. Espero que gostem!
Por: Marcos Vinicius Campez
[ Hits: 27292 ]
Conceito: 10.0   1 voto(s)1 voto(s)1 voto(s)1 voto(s)1 voto(s) + quero dar nota ao artigo

Introdução

Uma das coisas que a maioria administradores de redes mais deseja é estar sempre de olho em seus servidores sem precisar acessá-los localmente. Isso é possível graças a softwares de acesso remoto, como o nosso conhecido ssh.

Geralmente acessamos nossos servidores apenas para conferir alguns arquivos, dar uma olhada nos logs de acesso etc. Quando é preciso modificar algo, o ssh é extremamente funcional, é claro. Mas quando a nossa tarefa se resume em apenas verificar arquivos?! Precisamos realmente acessar por ssh e sair entrando em pastas e conferindo arquivos ou podemos automatizar essa tarefa?! Podemos automatizar essa tarefa com uma maneira bem simples! Como?! A resposta é sendEmail.

SendEmail é um script escrito em Perl por Brandon Zhem. Com isso você não precisa instalar um servidor de e-mail completo apenas para fazer essa tarefa, diminuindo os serviços, prezando assim pela segurança do seu servidor.

Instalação do sendEmail

O sendEmail se encontra no repositório oficial do Ubuntu, então para baixá-lo podemos apenas utilizar o APT:

$ sudo apt-get install sendemail

Para acessar a man page do mesmo, basta digitar "sendEmail" no terminal:

$ sendEmail

Com ele instalado, precisaremos agora de um e-mail que aceite SMTP com o POP habilitado.

Próxima página >>




Páginas do artigo
   1. Introdução
   2. Configurando o e-mail
   3. Usando o sendEmail e alguns exemplos

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por markintux em 28/08/2009 - 13:28h:

Não esqueçam de acessar: tavernadosilicio.wordpress.com e conferir mais artigos, dicas e noticias que posto no meu blog!

Abraços a todos!

[2] Comentário enviado por petslack em 28/08/2009 - 16:35h:

Só um detalhe pra quem não usa o Sistema Operacional mencionado no artigo, segue o link do software para baixar os fontes e ver mais algumas opções do software.
http://caspian.dotconf.net/menu/Software/SendEmail/

[3] Comentário enviado por vitorcampox em 28/08/2009 - 16:40h:

Beleza, funcionou legal aqui no meu ubuntu.

Mas e se no caso eu precisar enviar para mais de 1 destinatário?
Tem como eu usar um arquivo.txt com os destinatários por exemplo?

Abraço!

[4] Comentário enviado por xjc em 29/08/2009 - 02:05h:

Brother , seu artigo é bacana, mas você podia ensinar também como deixar o servidor de email como relay sem precisar passar todos esses parametros, abraços

[5] Comentário enviado por volcom em 31/08/2009 - 10:15h:

Perfeito!

Segui os passos e não teve segredo!

Parabéns

[6] Comentário enviado por gregh em 31/08/2009 - 16:07h:

Interessante :D
Obrigado por comaprtihlar.

[7] Comentário enviado por vagnocasainfo em 04/09/2009 - 23:07h:

Caro amigo, aqui não deu certo, gostaria de se possível obter ajuda. uso o ubuntu 9.04 acredito ter configurado corretamente mas deu o seguinte erro quando tento enviar.
Sep 04 23:04:32 ubuntu sendEmail[4415]: ERROR => Received: 501 malformed auth input (#5.5.4)
O que será que fiz errado. desde já obrigado.

[8] Comentário enviado por markintux em 05/09/2009 - 16:56h:

Olá vagnocasainfo!

Mande sua linha de comando para a gente dar uma analisada ok?? Este erro nunca aconteceu comigo.

Quanto aos outros, obrigado por comentarem ok? Abraços!

[9] Comentário enviado por vagnocasainfo em 06/09/2009 - 18:32h:

Olá,
a linha de comando que estou usando é.
sendEmail -f vagnogalvao@yahoo.com.br -t vaguinholg@hotmail.com -u teste -m esta é a menssagem -s smtp.mail.yahoo.com.br:25 -xu vagnogalvao@yahoo.com.br -xp 123456


[10] Comentário enviado por toyso em 07/09/2009 - 00:18h:

Olá!

Obtive o mesmo erro:
Sep 07 00:06:29 sct001 sendEmail[12513]: ERROR => Received: 501 malformed auth input (#5.5.4)

Minha linha ficou assim:
sendEmail -f min@yahoo.com.br -t min@hotmail.com -u "assunto" -o message-file=/home/geovane/svn.txt -s smtp.mail.yahoo.com.br:25 -xu min -xp 123456789

Tentei várias vezes, mas o erro sempre aparece.

[11] Comentário enviado por markintux em 07/09/2009 - 15:21h:

vagnocasainfo

cheque as aspas duplas no assunto e no corpo da mensagem... pode ser isso ok??


toyso

cheque as permissões do arquivo svn.txt... talvez pode ser isso...

qualquer coisa podem voltar a comentar...

obrigado a todos!

[12] Comentário enviado por toyso em 07/09/2009 - 16:18h:

Salve, markintux!
Brigadão pela resposta rápida, mestre. Fico muito feliz com o interesse de gente que sabe para conosco, aprendizes.
Mestre, é o seguinte: chequei as permissões, mas o erro não é esse. Tentei enviar por diversos e-mails e sem arquivo anexado e o mesmo erro persiste. Vou listar os erros:

YAHOO:

sendEmail -f min@yahoo.com.br -t min@hotmail.com -u teste -m esta é a menssagem -s smtp.mail.yahoo.com.br:25 -xu min -xp password
Sep 07 16:13:23 sct001 sendEmail[6311]: ERROR => Received: 501 malformed auth input (#5.5.4)
(tentei sem aspas, com aspas simples e depois duplas: mesma coisa)

Domínio Próprio:

sendEmail -f min@min.com.br -t min@hotmail.com.br -u "Conteúdo passwd" -o message-file=/home/geovane/svn.txt -s smtp.min.com.br:25 -xu min@min.com.br -xp password
Sep 07 16:15:27 sct001 sendEmail[6316]: ERROR => Received: 535 5.7.8 Error: authentication failed: bad protocol / cancel

Desculpe o transtorno, markintux, é que fiquei fã dessa possiblidade de agendar o envio do e-mail e gostaria de vencer essa dificuldade. Conto com sua ajuda!

[13] Comentário enviado por markintux em 08/09/2009 - 11:17h:

Olá toyso!

Te enviei um e-mail com alguns dados meus para nos comunicarmos melhor ok?? Te respondo as dúvidas por lá, acho que vai ser mais fácil para ambos certo??

Obrigado por comentar e muito obrigado pelos elogios!

Um Abraço!

[14] Comentário enviado por vagnocasainfo em 09/09/2009 - 18:38h:

Olá markintux,
verifiquei as aspas duplas e nada.
Mas mesmo assim obrigado.
Vou tentar alguam solução aqui e qualquer coisa eu posto. Se tiver alguma outra dica eu agradeço.
Abraço.

[15] Comentário enviado por jlvidals em 15/09/2009 - 06:53h:

Legal o artigo, se você quiz dizer ir à página principal? Então corrije a linha que diz "man page", você quiz dizer "main page" Ok?

[16] Comentário enviado por markintux em 25/09/2009 - 13:00h:

victorcamposx!

Desculpe a demora, mas se ainda não encontrou um jeito de fazer isso que você quer acesse este endereço: http://www.vivaolinux.com.br/dica/Exibindo-lista-de-arquivo-TXT-em-uma-unica-linha-no-terminal/ tem uma dica minha mostrando como fazer uma lista de e-mails em txt virar apenas uma linha no terminal, deste modo você conseguirá o que deseja ok??

Mais uma vez desculpe pela demora!

Abraços!

[17] Comentário enviado por Douglas Oliveira em 25/03/2010 - 17:59h:

Ola a todos!!!


Alguem sabe como eu faço para enviar as notificações do nagios via e-mail, utilizando o sendEmail com autenticação do SMTP.


Att,

Douglas Oliveira.

[18] Comentário enviado por spish em 31/05/2010 - 01:31h:

Cara você é o kara kkkk, estava procurando uma solução simples como a sua. Obrigado por compartilhar seu conhecimento. Obs. Dá até para colocar quebra de linha nas mensagens "\n" muito bom mesmo.

[19] Comentário enviado por Tacioandrade em 06/06/2011 - 00:33h:

Para quem assim como eu prefere utilizar o GMail para enviar os arquivos, pois aceita anexos maiores (até 20 megas), consegui depois de muitas horas aqui no google colocar para funcionar com o sendEmail.


sendEmail -f usuario@gmail.com -t destinatario@gmail.com -u "Assunto" -m "Mensagem" -a /home/andrade/anexo.txt -s smtp.gmail.com:587 -xu usuario@gmail.com -xp 'Senha'

Vou explicar um pouco o porque de minhas alterações para poder funcionar. A porta do smtp do Gmail, ao contrario da maioria dos hosts é a porta 587, diferente da maioria dos servidores. Outra coisa que muda em comparação ao envio pelo Yahoo é que o -xu (usuário de autenticação) é o e-mail inteiro, não apenas o usuário antes do @, o que me fez perder um bom tempo até conseguir.

Outra dica interessante é colocar a senha entre aspas simples ' ', pois no meu caso, ela tem caracteres especiais e não era compreendida pelo shell como uma senha, e sim como um comando ou variavel.

Espero que essa minha dica ajude muita gente por ai.

[20] Comentário enviado por cefet pet em 15/09/2011 - 14:00h:

Olá, eu gostaria de saber como posso baixar e ver os emails que coloquei no servidor direto do terminal.
obrigado

[21] Comentário enviado por guidoseverus em 04/12/2011 - 15:26h:

Gostei bastante, valeu.

[22] Comentário enviado por codebr em 20/02/2012 - 00:28h:

Boa noite,

Porque os e-mails enviados pelo terminal usando o comando sendEmail são encaminhados para "Lixeira" dos destinatários?

[23] Comentário enviado por Tacioandrade em 20/02/2012 - 01:22h:

codebr isso se dá por alguns e-mails considerarem e-mails enviados sem autenticação (como é o nosso caso) como tentativa de Spam.

Para resolver isso é só criar uma politica no seu e-mail de forma que todos que sejam recebidos do e-mail que você configurou para receber o e-mail não seja considerado com spam.

[24] Comentário enviado por contito em 13/04/2012 - 16:51h:

quando tento enviar um e-mail do Gmail pelo sendEmail aparece o seguinte:


Apr 13 16:40:53 dermochelys sendEmail[5679]: NOTICE => Authentication not supported by the remote SMTP server!
Apr 13 16:40:54 dermochelys sendEmail[5679]: ERROR => Received: 530 5.7.0 Must issue a STARTTLS command first. o15sm17600017anj.1

o que escrevo no terminal é o seguinte:

user@pcname:~$ sendEmail -f meuemail@gmail.com -t meuemail@gmail.com -u "assunto" -m "mensagem" -s smtp.gmail.com:587 -xu meuemail@gmail.com -xp 'minhasenha'

e além disso meu email está com o POP3 abilitado como foi sugerido...


o que devo fazer ? Procurei algumas soluções on line e nenhuma delas deu certo (nao consegui me enviar um e-mail)

obrigado




Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.