Williamm
(usa Linux Mint)
Enviado em 31/07/2012 - 21:24h
Segue a solução correta, agora encontrada
Essa dica é muito útil, principalmente para quem gosta de tratar erros em shell scripts e enviar alertas por email. Muitos utilizam o comando mail para isso, mas passam por problemas quando está utilizando uma conta do Gmail ou Google Apps por causa da segurança (TLS).
Para contornar isso, podemos utilizar o comando sendEmail, que é bastante flexível e muitas coisas podem ser feitas. Estarei mostrando aqui apenas algumas funcionalidades básicas e caso deseje explorar ainda mais o comando, recomendo uma boa leitura na página de manual do mesmo.
Antes de tudo, instale o pacote sendemail com o comando abaixo:
sudo apt-get install sendemail libnet-ssleay-perl libio-socket-ssl-perl
Enviando um email simples utilizando uma conta do gmail:
sendEmail -f contateste@gmail.com -t contateste2@gmail.com \
-u "Isso e um teste de email" -m "Isso e um teste de email. \nObrigado." \
-o tls=yes -s smtp.gmail.com \
-xu contateste@gmail.com -xp minhasenha
Onde:
sendEmail – é o comando que utilizaremos para enviar emails via linha de comando.
-f – é o parâmetro onde devemos informar o email do remetente (From). Este endereço deve estar autorizado em sua conta do gmail.
-t – é o parâmetro onde devemos informar o email do destinatário (To).
-u – é o parâmetro onde devemos informar o assunto (Subject) da mensagem de email.
-m – é o parâmetro onde devemos entrar com o texto (Data) da mensagem de email.
-o tls=yes – utilizará TLS para autenticar o usuário SMTP.
-s – é o parâmetro para informar o servidor smtp. No caso do Gmail ou Google Apps, será sempre smtp.gmail.com.
-xu – é o parâmetro onde devemos informar o usuário SMTP.
-xp – é o parâmetro onde devemos informar a senha do usuário que realizará a autenticação no servidor SMTP.
Para enviar email uma cópia de email para mais de um destinatário, pode-se utilizar o parâmetro -cc (Carbon Copy) , exemplo:
sendEmail -f contateste@gmail.com -t contateste2@gmail.com \
-cc destino2@domain.com.br, destino3@exemplo.com.br \
-u "Isso e um teste de email" -m "Isso e um teste de email. \nObrigado." \
-o tls=yes -s smtp.gmail.com \
-xu contateste@gmail.com -xp minhasenha
Para anexar um ou mais arquivos, pode-se utilizar o parâmetro -a (Attach), exemplo:
sendEmail -f contateste@gmail.com -t contateste2@gmail.com \
-cc destino2@domain.com.br, destino3@exemplo.com.br \
-u "Isso e um teste de email" -m "Isso e um teste de email. \nObrigado." \
-o tls=yes -s smtp.gmail.com \
-xu contateste@gmail.com -xp minhasenha \
-a arquivo_teste.txt
sendEmail -f contateste@gmail.com -t contateste2@gmail.com -u "Isso e um teste de email" -m "Isso e um teste de email. nObrigado." -o tls=yes -s smtp.gmail.com -xu contateste@gmail.com -xp minhasenha
Fonte:
http://technobeso.info/2011/12/linux-como-enviar-email-em-uma-conta-do-gmail-via-linha-de-comando/