[Tutorial] Enviando Emails do console usando Postfix-Gmail com SMTP-RELAY

Dicas e conf's para servidores Linux
Avatar do usuário
Elton
Administrator
Administrator
Mensagens: 1259
Registrado em: 10 Jun 2013 12:44
Status: Offline

[Tutorial] Enviando Emails do console usando Postfix-Gmail com SMTP-RELAY

Mensagem por Elton »

Imagem
Esse tutorial eu irei explicar como você pode enviar emails diretamente do console usando o postfix e o smtp do gmail. Bem faz bastante tempo que eu venho querendo aprender sobre servidores de email, sempre tem sido difícil estudar a respeito dele, então consegui implementar uma configuração simples. na qual vou documentar aqui nesse tutorial, que pode servir para posterior lembrança minha e principalmente para compartilhar o conhecimento. Então vamos começar. Passos usados nesse Tutorial

1 - Instalar os Pacotes (Programas e dependências)
2 - Editar o arquivo /etc/postfix/main.cf
3 - Editar o arquivo /etc/postfix/generic
4 - Editar o arquivo /etc/postfix/sasl_passwd
5 -Criar os certificados no diretório /etc/postfix/certs/
6- Usar o comando postmap para o postfix criar seu banco de dados padrão.
7 -Enviar um email pelo console para testar.
8 - Analizar o log para ver se deu tudo certo.

Primeiro vamos instalar os pacotes:

Código: Selecionar todos

#apt-get install libsasl2-2 libsasl2-modules sasl2-bin mutt postfix openssl
Após instalar tudo edite o seguinte arquivo /etc/default/saslauthd e altere a opção start de "NO" para "YES"

Feito a alteração reinicie o serviço

Código: Selecionar todos

#/etc/init.d/saslauthd restart
Agora vamos entrar no diretório do Postfix:

Código: Selecionar todos

cd /etc/postfix
Vamos mover a configuração original do postfix (Caso exista):

Código: Selecionar todos

#mv main.cf main.cf-bkp
Vamos colocar o conteúdo abaixo em um novo main.cf

Código: Selecionar todos

#vi /etc/postfix/main.cf
Copie e cole o conteúdo abaixo

Código: Selecionar todos

#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
Vamos descobrir o hostname de seu servidor, digite o seguinte comando:

Código: Selecionar todos

#hostname
O resultado do comando você usa no arquivo generic. Vamos supor que o hostname seja servidor. Vamos agora criar o arquivo "generic":

Código: Selecionar todos

#vi /etc/postfix/generic
E inserir o conteúdo abaixo. Vamos criar o arquivo sasl_passwd:

Código: Selecionar todos

#vi /etc/postfix/sasl_passwd
E colocar o seguinte conteúdo:

Código: Selecionar todos

[smtp.seudominio.com]:587 [email protected]:suasenha
Criando os certificados

Vamos criar o diretório dos certificados:

Código: Selecionar todos

#mkdir /etc/postfix/certs/
Depois...

Código: Selecionar todos

cd /etc/postfix/certs/
Depois...

Código: Selecionar todos

#openssl dsaparam 1024 -out dsa1024.pem
Depois...

Código: Selecionar todos

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

Código: Selecionar todos

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

Código: Selecionar todos

#postmap /etc/postfix/sasl_passwd;postmap /etc/postfix/generic;postmap /etc/postfix/main.cf
E finalmente:

Código: Selecionar todos

#/etc/init.d/postfix restart
Vamos testar se ele está funcionando enviando um e-mail de teste...

Código: Selecionar todos

#echo "segue a mensagem" | mutt -s "teste de envio pelo console" [email protected]
Olhe no seus logs se tudo correu bem, caso ele acuse algum erro corrija conforme a mensagem:

Código: Selecionar todos

#tail -f /var/log/mail.log
Caso no log apareça algo relacionado a não existir o arquivo aliases.db basta seguir os passos abaixo para resolver o problema:

Código: Selecionar todos

#cd /etc
#newaliases
abraços

;)
Editado pela última vez por Elton em 31 Jul 2014 14:32, em um total de 1 vez.


"Colaborar atrai amigos, competir atrai inimigos ..."

Voltar para “Servidores”