Pular para o conteúdo principal

Gmail + Postfix = Relay SMTP Autenticado

Bom dia galera!

Estava precisando que meu Script de Monitoramento de Espaço em Disco enviasse e-mails de um cliente que não possui um servidor Linux dedicado para função.

Como o cliente não possuia IP Fixo para configurar um servidor de e-mails, decidi configurar o Postfix para enviar e-mail usando o SMTP do Gmail.

Vamos às configurações:


Instale os pacotes e dependências.
# apt-get install libsasl2-2 libsasl2-modules sasl2-bin mutt postfix openssl


Depois de instalar os pacotes e dependências edite o arquivo/etc/default/saslauthd e altere a opção Start de “NO” para “YES”.
# vi /etc/default/saslauthd


Feita a alteração reinicie o serviço.
# /etc/init.d/saslauthd restart


Agora vamos entrar no diretório do Postfix.
# cd /etc/postfix


Vamos salvar o arquivo original de configuração do Postfix.
# mv main.cf main.cf.bkp


 Agora vamos criar um novo:
# vi main.cf 


Agora copie e cole neste novo main.cf vazio.
 
# SMTP relayhost
 relayhost = [smtp.gmail.com]:587

# TLS Settings
 smtp_tls_loglevel = 1
 smtp_tls_CAfile = /etc/postfix/certs/CAcert.pem
 smtp_tls_cert_file = /etc/postfix/certs/mycert.pem
 smtp_tls_key_file = /etc/postfix/certs/mykey.pem
 smtp_use_tls = yes
 smtpd_tls_CAfile = /etc/postfix/certs/CAcert.pem
 smtpd_tls_cert_file = /etc/postfix/certs/mycert.pem
 smtpd_tls_key_file = /etc/postfix/certs/mykey.pem
 smtpd_tls_received_header = yes

# configuracao tls
 smtp_sasl_auth_enable = yes
 smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
 smtp_sasl_security_options = noanonymous
 smtp_sasl_tls_security_options = noanonymous

# alias de mapeamento interno para externo
 smtp_generic_maps = hash:/etc/postfix/generic 


Agora vamos criar o arquivo generic dentro do diretório do Postfix /etc/postfix Para criar o arquivo:
# vi generic


Este arquivo terá o seguinte conteúdo.

# Confs
 
root@servidor seuemail@gmail.com
 
root@servidor.localdomain seuemail@gmail.com


Onde servidor é o nome do computador. Pra saber o nome da máquina basta digitar o comando hostname.
Precisamos criar também o arquivo que contém usuário e senha da sua conta no Gmail. Este arquivo se chamará sasl_passwd Este também no mesmo diretório /etc/postfix

# nano sasl_passwd


Inserir o conteúdo:
[smtp.gmail.com]:587 seuemail@gmail.com :suasenha


Precisamos agora criar os certificados que validam o servidor no Gmail. Antes de criar os certificados vamos criar um diretório chamado certs dentro de /etc/postfix
 
# mkdir certs


Depois de criado entrar neste diretório com o comando cd
 
# cd certs


Agora que estamos dentro do diretório certs rodar os três comandos nesta ordem:

1º comando:
# openssl dsaparam 1024 -out dsa1024.pem

2º comando:
# openssl req -x509 -nodes -days 3650 -newkey dsa:dsa1024.pem -out mycert.pem -keyout mykey.pem;ln -s mycert.pem CAcert.pem

3º comando:
# openssl req -x509 -new -days 3650 -key /etc/postfix/certs/mykey.pem -out /etc/postfix/certs/mycert.pem;rm dsa1024.pem


Depois de gerar os certificados vamos associar os arquivos com o comando:
# postmap /etc/postfix/sasl_passwd;postmap /etc/postfix/generic;postmap /etc/postfix/main.cf


Terminamos as configurações, agora vamos reiniciar o serviço Postfix.
# /etc/init.d/postfix restart


Vamos fazer o teste enviando e-mail via linha de comando.
# echo “Teste Postfix” | mutt -s “teste de envio pelo console” e-mail@seuemail.com.br


Para ver os logs do servidor de e-mail Postfix basta usar este comando:
# tail -f /var/log/mail.log


Se aparecer nos logs algo informando que não existe o arquivos aliases.db basta rodar estes comandos:
# cd /etc
# newaliases


Espero ter colaborado.


Abraços,

Fábio Vieira
System and Network Admin Linux and Windows

E-mail: ensinalinux@gmail.com
Website: www.winlinuxtecnologia.com
Tel.: (41) 9893-870



Comentários

Postagens mais visitadas deste blog

Trabalhando com Raid via Software no Debian / Ubuntu

Redundant Array of Independent Drives , também denominado Redundant Array of Inexpensive Drives , mais conhecido como simplesmente RAID ou ainda em português: Conjunto Redundante de Discos Independentes ou também Conjunto Redundante de Discos Econômicos ou ainda Arranjo Redundante de Discos Independentes, é um meio de se criar um sub-sistema de armazenamento composto por vários discos individuais, com a finalidade de ganhar segurança e desempenho. Popularmente, RAID seriam dois ou mais discos (por exemplo, HD ou disco rígido) trabalhando simultaneamente para um mesmo fim, por exemplo, citando o exemplo de RAID -1 logo abaixo, serviria como um espelhamento simples, rápido e confiável entre dois discos, para fazer o backup de um disco em outro. Apesar do RAID oferecer segurança e confiabilidade na adição de redundância e evitar falhas dos discos, o RAID não protege contra falhas de energia ou erros de operação. Falhas de energia, código errado de núcleo ou erros o...

Códigos de Status do Squid

Boa tarde galera, Muitos trabalham com servidores proxy usando squid e várias vezes temos que analisar os logs de acesso para tentar entender o que está acontecendo. Todos que já viram um log do squid conseguem identificar o site acessado, o usuário ou mesmo se o acesso foi bem sucedido ou não, contudo há alguns códigos que chamam a atenção. Veja um trecho de um log do squid a seguir: 1199263171.923    285 192.168.254.12 TCP_DENIED/403 1503 GET http://www.menshealth.com/media/images/cma/dec04_lust5_200x200.jpg jose NONE/- text/html 1199263176.363    302 192.168.254.15 TCP_MISS/000 0 GET http://www.google.com.br/carlos DIRECT/74.125.47.147 - 1199263176.379      0 192.168.254.15 TCP_DENIED/407 2033 GET http://www.folha.uol.com.br/folha/common.css - NONE/- text/html 1199263176.439     58 192.168.254.15 TCP_IMS_HIT/200 32356 GET http://www.folha.uol.com.br/folha/common.css carlos NONE/- text/css Nesses logs podemos i...

Instalando Banco de Dados Firebird no Linux

Bom dia! Para muitos tem sido uma tortura instalar um servidor Firebird Linux. Reinstalar então nem se fala. Na internet há "trocentos" tutoriais ensinando. Mas você segue tudo à risca e não dá certo. Às vezes só consegue depois de ler uns dez tutorias e catando uma informação aqui e outra ali. Espero que este tutorial seja o único que você vai precisar ler para poder instalar o Firebird. Preparando o Terreno Para o modo como instalaremos o Firebird , o seu Linux precisa ter instalado a biblioteca libstdc++5 . Se você usa Ubuntu, Debian ou derivados, digite num terminal:  # apt-get install libstdc++5 Se você usa uma distribuição baseada em pacotes RPM (como openSUSE , Fedora e outras), terá que instalar o pacote compat-libstdc++ . Na maioria das distribuições RPM você instala assim: # yum install nome_do_pacote_rpm Baixando e instalando o Firebird   Acesse o site firebirdsql.org e depois clique em "Download Firebird 2.5.1" (versão disponíve...