Exim + Gmail
Por um tempo eu precisei escrever scripts para mandar as notas pro e-mail pessoal dos meus alunos. Eu configurava o script para usar o SMTP da Google e funcionava muito bem. Mas quando os outros professores me pediam o script eu sempre tinha que lembrar de remover o meu login e minha senha. O mesmo problema ocorre quando publico código/dotfile no github.
Então eu decidi configurar um servidor SMTP usando o Gmail como Smarthost que só aceite conexão do localhost.
É importante salientar que essa configuração não é a ideal para quem precisar de um servidor de e-mail robusto, mas para quem está com preguiça de configurar o SMTP de 347 programas diferentes.
Nas configurações abaixo, as palavras HOSTNAME, MEULOGIN, MINHASENHA deverão ser substituídas. O HOSTNAME é o mesmo que está sendo usado no /etc/rc.conf, que por sua vez é o mesmo que está no 127.0.0.1 do /etc/hosts. MEULOGIN e MINHASENHA é o login e senha do Gmail.
Para configurar o Exim4 no ArchLinux usando o servidor SMTP do Gmail é só seguir os passos abaixo usando o usuário root.
Instale o servidor de e-mail Exim
# pacman -S exim #Archlinux
# yum install exim # Centos/Fedora
Abra o arquivo /etc/mail/exim.conf.
Abaixo de begin routers coloque:
gmail_route:
driver = manualroute
transport = gmail_relay
route_list = * smtp.gmail.com
Abaixo de begin transports:
gmail_relay:
driver = smtp
port = 587
hosts_require_auth = $host_address
hosts_require_tls = $host_address
Abaixo de begin rewrite:
*@localhost.localdomain MEULOGIN@gmail.com
*@localhost MEULOGIN@gmail.com
*@HOSTNAME MEULOGIN@gmail.com
Abaixo de begin authenticators:
gmail_login:
driver = plaintext
public_name = LOGIN
hide client_send = : MEULOGIN@gmail.com : MINHASENHA
Agora salve e saia do arquivo. Para que os usuários não consigam ver teu login e senha mude as permissões com o comando abaixo.
# chmod 600 /etc/mail/exim.conf
Edite o arquivo /etc/hosts.allow e coloque exim: localhost para somente aceitar conexões vinda da própria máquina.
Agora é colocar no /etc/rc.conf o exim no DAEMONS e pronto!
Servidor de e-mail configurado! =D
PS.: Quando um script tenta descobrir qual é o hostname da máquina, ele pode achar os valores que estão em /etc/hosts. No meu caso eu tenho os seguintes valores pro ip 127.0.0.1: localhost.localdomain, localhost, robinho. Por isso que eu fiz 3 regras. Então qual script que queira mandar algum email para qualquer usuário do meu desktop, ele irá mandar um email pro meu gmail, assim eu nunca mais irei esquecer de ver emails que são mandados pro usuário root.
Referências:
Exim with a remote SMTP server
Configuring Exim to use Gmail as a Smarthost
Gmail And Exim4 on Debian
Então eu decidi configurar um servidor SMTP usando o Gmail como Smarthost que só aceite conexão do localhost.
É importante salientar que essa configuração não é a ideal para quem precisar de um servidor de e-mail robusto, mas para quem está com preguiça de configurar o SMTP de 347 programas diferentes.
Nas configurações abaixo, as palavras HOSTNAME, MEULOGIN, MINHASENHA deverão ser substituídas. O HOSTNAME é o mesmo que está sendo usado no /etc/rc.conf, que por sua vez é o mesmo que está no 127.0.0.1 do /etc/hosts. MEULOGIN e MINHASENHA é o login e senha do Gmail.
Para configurar o Exim4 no ArchLinux usando o servidor SMTP do Gmail é só seguir os passos abaixo usando o usuário root.
Instale o servidor de e-mail Exim
# pacman -S exim #Archlinux
# yum install exim # Centos/Fedora
Abra o arquivo /etc/mail/exim.conf.
Abaixo de begin routers coloque:
gmail_route:
driver = manualroute
transport = gmail_relay
route_list = * smtp.gmail.com
Abaixo de begin transports:
gmail_relay:
driver = smtp
port = 587
hosts_require_auth = $host_address
hosts_require_tls = $host_address
Abaixo de begin rewrite:
*@localhost.localdomain MEULOGIN@gmail.com
*@localhost MEULOGIN@gmail.com
*@HOSTNAME MEULOGIN@gmail.com
Abaixo de begin authenticators:
gmail_login:
driver = plaintext
public_name = LOGIN
hide client_send = : MEULOGIN@gmail.com : MINHASENHA
Agora salve e saia do arquivo. Para que os usuários não consigam ver teu login e senha mude as permissões com o comando abaixo.
# chmod 600 /etc/mail/exim.conf
Edite o arquivo /etc/hosts.allow e coloque exim: localhost para somente aceitar conexões vinda da própria máquina.
Agora é colocar no /etc/rc.conf o exim no DAEMONS e pronto!
Servidor de e-mail configurado! =D
PS.: Quando um script tenta descobrir qual é o hostname da máquina, ele pode achar os valores que estão em /etc/hosts. No meu caso eu tenho os seguintes valores pro ip 127.0.0.1: localhost.localdomain, localhost, robinho. Por isso que eu fiz 3 regras. Então qual script que queira mandar algum email para qualquer usuário do meu desktop, ele irá mandar um email pro meu gmail, assim eu nunca mais irei esquecer de ver emails que são mandados pro usuário root.
Referências:
Exim with a remote SMTP server
Configuring Exim to use Gmail as a Smarthost
Gmail And Exim4 on Debian
Muito massa, mas uma dúvida. Essas configurações só servem pro archlinux? Ou rodam em outras distros?
ResponderExcluirEu já testei em Archlinux, Fedora e Centos.
ExcluirRodaram bem em todas.