Ocasionalmente preciso montar uma nova máquina para a equipe de desenvolvimento de minha empresa e, tendo em vista que temos um ambiente de desenvolvimento em PHP (ambiente linux), é bastante prático que a máquina de testes possa enviar e-mails localmente para verificarmos se os programas em PHP estão enviando e-mails corretamente.
Neste post vou mostrar como configuramos nosso servidor de e-mails local para que todos os e-mails enviados da máquina sejam direcionados para a máquina local.
1. Instalando o servidor de e-mail
Primeiramente, temos que instalar o servidor de e-mails postfix:
sudo apt-get install postfix
2. Configurando o PHP para envio de e-mails
Uma vez instalado o postfix, precisamos configurar corretamente o php para envio de e-mails. Para isso, vamos editar o arquivo php.ini (note que usamos xampp aqui e, portanto, o nome da pasta pode variar em seu sistema):
sudo gedit /opt/lampp/etc/php.ini
Nesse arquivo, procure pelo termo "sendmail" e insira a seguinte linha no trecho indicado:
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t -i
3. Configurando o postfix
Abra agora o arquivo de configuração do postfix:
sudo gedit /etc/postfix/main.cf
Você deve inserir as seguintes linhas nesse arquivo:
home_mailbox = /Maildir/ #O diretorio em que você irá salvar os emails
mailbox_command =
mydestination = localhost, mail.localhost
transport_maps = hash:/etc/postfix/transport
luser_relay = seunomedeusuario
Crie agora um novo arquivo transport:
sudo gedit /etc/postfix/transport
E dentro desse arquivo coloque o seguinte:
localhost :
seu.dominio.vai.aqui.com :
* local:seunomedeusuario
Execute os seguintes comandos agora:
sudo postmap /etc/postfix/transport
sudo service postfix restart
Finalmente, crie os diretórios do Maildir em sua pasta home:
mkdir ~/MaildirSe tudo correu bem, você deve ser capaz agora de receber e-mails encaminhados pelo php na máquina local.
mkdir ~/Maildir/new
mkdir ~/Maildir/cur
mkdir ~/Maildir/tmp
Para testar, instale o Evolution (sudo apt-get install evolution) e configure uma nova caixa de entrada, com a entrada tipo Maildir, apontando para a pasta Maildir que criamos.