Autor: Julio Cadorso
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
- Instalar os Pacotes (Programas e dependências)
- Editar o arquivo /etc/postfix/main.cf
- Editar o arquivo /etc/postfix/generic
- Editar o arquivo /etc/postfix/sasl_passwd
- Criar os certificados no diretório /etc/postfix/certs/
- Usar o comando postmap para o postfix criar seu banco de dados padrão.
- Enviar um email pelo console para testar.
- Analizar o log para ver se deu tudo certo.
Primeiro vamos instalar os pacotes:
#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#/etc/init.d/saslauthd restart
Agora vamos entrar no diretório do Postfix:
cd /etc/postfix
Vamos mover a configuração original do postfix (Caso exista):
#mv main.cf main.cf-bkp
Vamos colocar o conteúdo abaixo em um novo main.cf
#vi /etc/postfix/main.cf
Copie e cole o conteúdo abaixo
#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:
#hostname
O resultado do comando você usa no arquivo generic. Vamos supor que o hostname seja servidor. Vamos agora criar o arquivo "generic":
#vi /etc/postfix/generic
E inserir o conteúdo abaixo.
root@servidor seulogin@gmail.com
root@servidor.localdomain seulogin@gmail.com
Vamos criar o arquivo sasl_passwd:
#vi /etc/postfix/sasl_passwd
E colocar o seguinte conteúdo:
[smtp.gmail.com]:587 seulogin@gmail.com :suasenha
-
Criando os certificados
Vamos criar o diretório dos certificados:
#mkdir /etc/postfix/certs/
Depois...
cd /etc/postfix/certs/
Depois...
#openssl dsaparam 1024 -out dsa1024.pem
Depois...
#openssl req -x509 -nodes -days 3650 -newkey dsa:dsa1024.pem -out mycert.pem -keyout mykey.pem;ln -s mycert.pem CAcert.pem
Depois...
#openssl req -x509 -new -days 3650 -key /etc/postfix/certs/mykey.pem -out /etc/postfix/certs/mycert.pem;rm dsa1024.pem
Agora...
#postmap /etc/postfix/sasl_passwd;postmap /etc/postfix/generic;postmap /etc/postfix/main.cf
E finalmente:
#/etc/init.d/postfix restart
Vamos testar se ele está funcionando enviando um e-mail de teste...
#echo "segue a mensagem" | mutt -s "teste de envio pelo console" email_qualquer@dominio.com.br
Olhe no seus logs se tudo correu bem, caso ele acuse algum erro corrija conforme a mensagem:
#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:
#cd /etc
#newaliases
Nenhum comentário:
Postar um comentário