Antecedentes: Se você configurou um servidor apache local para fins de desenvolvimento, talvez tenha encontrado o problema em que o sendmail demora muito (pelo menos um minuto) para enviar e-mails. Isso é extremamente frustrante se você estiver tentando depurar um problema com um email gerado por você.
Existem várias postagens no fórum na internet que discutem esse problema. No entanto, nenhum tema descreveu o que fazer em detalhes suficientes para o meu conhecimento limitado. Aqui estão os passos que funcionaram para mim:
1) encontre seu hostname (caso você tenha esquecido) usando este comando:
:~$ cat /hosts/hostname
myhostname
2) edite o arquivo /etc/hosts
e verifique se a primeira linha é a seguinte:
127.0.0.1 localhost.localdomain localhost myhostname
3) edite o arquivo de configuração do sendmail ( /etc/mail/sendmail.cf
no Ubuntu) e
Descomente a linha #O HostsFile=/etc/hosts
4) Reinicie o computador. O computador deve inicializar muito mais rápido agora e a função mail () deve retornar quase imediatamente. NO ENTANTO, os e-mails não serão realmente enviados, a menos que você siga a etapa 5.
5) Você deve usar a opção sendmail '-f' sempre que usar a função mail. Por exemplo:
mail('[email protected]', 'the subject', 'the message', null, '[email protected]');
Minha pergunta para meus colegas servidores de resgate é:
Quais alterações adicionais podem ser feitas para que eu não tenha que usar a opção sendmail -f? Embora não seja muito difícil adicionar a opção -f, é um problema quando o seu CMS (como o Drupal) não usa a opção -f ao enviar mensagens. Você precisaria hackear um módulo central para adicionar essa opção.