Páginas

sexta-feira, 27 de abril de 2012

Enviando emails com anexo via linha de comando no Linux usando o gmail


    Bom estava pesquisando e queria encontrar uma maneira de fazer backup dos arquivos de configuração de servidores de maneira que ficassem guardados em um lugar seguro, como não tenho um servidor próprio. Consegui fazer usando o SSMTP e o MUTT, segue abaixo como fiz e a referência que usei.


Pré-requisitos:
- Ter o SSMTP e o MUTT instalados (no FreeBSD /usr/ports/mail/ssmtp e /usr/ports/mail/mutt respectivamente).

Ambiente Utilizado:
- FreeBSD 8.2
- Debian 5.0.8 Lenny

Configuração do SSMTP (arquivo /usr/local/etc/ssmtp/ssmtp.conf ou 
/etc/ssmtp/ssmtp.conf):
  • mailhub=smtp.gmail.com:465
  • rewriteDomain=gmail.com
  • hostname=seuFQDN
  • FromLineOverride=NO
  • UseTLS=YES
  • AuthUser=seuemail@gmail.com
  • AuthPass=suasenha
Com isso você já é capaz de enviar emails com o SSMTP, monte um arquivo de texto simples com o seguinte conteudo:
To: email_de_destino@dominio.com
Subject: assunto
teste de email com o ssmtp
Envie com o comando: ssmtp email_de_destino@dominio.com < email.txt

Configuração do MUTT:

Agora temos que configurar o MUTT de maneira que ele utilize o SSMTP para enviar emails.
Crie um script (chamado sendgmail.sh por exemplo) com o seguinte conteúdo:
#!/bin/sh
/usr/local/sbin/ssmtp $@
Coloque-o em /usr/local/bin por exemplo e dê permissão de execução para ele.
Dentro do seu diretório home crie um arquivo chamado .muttrccom o seguinte conteúdo:
set sendmail=”/usr/local/bin/sendgmail.sh”
Agora você já pode enviar emails com anexos usando o MUTT:
mutt -a backup1.tar.gz -a backup2.tar.gz -s ‘Assunto’ email_de_destino@gmail.com < /dev/null
O “< /dev/null” é para tornar o envio automático e não interativo.

4 comentários: