terça-feira, 3 de setembro de 2013

FreeBSD: Enviar email via linha de comando usando o Gmail

Usando o ssmtp no FreeBSD


Uma ferramenta bem útil para envio de emails via linha de comando, um exemplo é o envio de relatórios do servidor para o administrador. Com o bloqueio da porta 25 pelos provedores na tentativa de reduzir os SPAM's, o sendmail acabou ficando bloqueado também.

O que me motivou a pesquisar esta solucão foi a crescente migração para GVT por parte dos meus clientes, e nesta acabei ficando sem os retornos dos servidores.

Vamos ver os passos que vamos fazer:



1 - Desativar o sendmail

2 - Instalar o ssmtp

3 - Configurar o ssmtp

4 - Testar o ssmtp


Chega de explicações e vamos ao que interessa:

1 - Desativando o sendmail


Inserir as linhas no /etc/rc.conf

sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
sendmail_enable="NO"

Após inserir estas linhas, pode reiniciar o servidor ou matar todos os processos do sendmail

# killall sendmail

2 - Instalar o ssmtp


# portsnatp fetch update && cd /usr/ports/mail/ssmtp && make install replace clean


3 - Configurando o ssmtp


Arquivo do configuração /usr/local/etc/ssmtp/ssmtp.conf

root=servidorXYZ@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=servidorXYZ@gmail.com
AuthPass=senh@doSeuGmail
UseSTARTTLS=YES


4 - Enviando um email de teste


# ssmtp -v meuemail@meudominio.com.br < /etc/hosts


Algumas dicas:


Como a senha do seu email está em texto plano no /usr/local/etc/ssmtp/ssmtp.conf é fortemente recomendado definir a permissão do arquivo para 640


# chmod 640 /usr/local/etc/ssmtp/ssmtp.conf


Referencias:


http://www.freebsd.org/doc/handbook/outgoing-only.html

http://log.brandonthomson.com/2010/10/freebsd-use-gmail-instead-of-sendmail.html