"Como isso é para fins de desenvolvimento, e eu preciso testar com endereços de e-mail diferentes do meu, preciso que o comando sendmail aceite um e-mail, mas não o entregue, mas arquivar é um lugar onde Eu posso olhar para isso. "
Você ainda precisará entregá-lo. Você só precisa substituir "onde" é entregue.
"Qual é a maneira mais fácil de instalar um servidor de e-mail, de modo que o comando sendmail direcione TODOS os e-mails para um diretório local? Ou seja, NÃO quero que nenhum e-mail seja entregue na Internet".
Isso pode realmente ser feito usando apenas o pacote de instalação padrão do postfix (não há necessidade de postfix-pcre).
1.) Seguindo um tutorial aqui , edite 2 linhas no /etc/postfix/master.cf
file para evitar que qualquer email seja entregue externamente (fica preso na fila de correio local):
smtp unix - - - - - local
relay unix - - - - - local
2.) Crie um arquivo em /etc/postfix
chamado virtual
. Coloque a seguinte linha dentro desse arquivo, substituindo <USERNAME>
pelo nome da conta de usuário local para a qual você deseja que todas as mensagens sejam entregues:
/.*/ <USERNAME>
3.) Execute o seguinte comando para criar o arquivo de banco de dados correto para o postfix pesquisar este novo "mapa de alias virtual". O novo arquivo de banco de dados gerado automaticamente será chamado "virtual.db"
sudo postmap /etc/postfix/virtual
4.) Adicione a seguinte linha a /etc/postfix/main.cf
virtual_alias_maps = regexp:/etc/postfix/virtual
5.) Reinicie o postfix:
sudo service postfix restart
Agora, todos os e-mails, independentemente do remetente, destinatário ou programa que aponte para esse servidor SMTP, serão entregues localmente ao usuário especificado. Existem inúmeras opções para ler / recuperar essas mensagens agora. Se você instalar um mensageiro IMAP ou POP3 (como dovecot ), poderá usar um Agente de Usuário de Email (Thunderbird, Outlook, etc. ) para se conectar à sua caixa de correio local e ler as mensagens.