Aqui está minha opinião sobre a maneira correta de fazer isso, e não é muito difícil se tudo o que você quer fazer é enviar e-mail para php através do servidor SMTP do seu provedor.
Certifique-se de ter um MTA instalado em sua instância do Ubuntu, minha preferência é postfix, mas você pode usar um diferente (exim, qmail são bons), no entanto, algumas destas instruções precisarão ser adaptadas / pesquisadas separadamente se você Faz.
# apt-get install postfix postfix-doc
Em seguida, precisaremos informar como enviar e-mails para a Internet usando o servidor SMTP do ISP, você já deve ter essa informação, pode ser chamado de servidor de e-mail de saída , substitua smtp.isp.net por essas informações.
# postconf -e relayhost=smtp.isp.net
Isso ajustará seu arquivo de configuração postfix main.cf para permitir que seu servidor de e-mail envie para o mundo externo.
Agora precisamos editar o arquivo php.ini para informar a localização do binário sendmail , este binário não é um MTA do sendmail, mas um wrapper para o postfix que fornece uma interface consistente conhecida como sendmail .
Por padrão, no debian / ubuntu, o binário sendmail do postfix está em /usr/sbin/sendmail
.
# whereis sendmail
Ajudará você a localizá-lo.
Agora que temos o caminho completo para o binário sendmail, podemos editar o arquivo php.ini, ele deve estar localizado em /etc/php5/apache2/php.ini, abri-lo em qualquer editor que você esteja familiarizado .
Localize a seção marcada com [mail function]
e comente as diretivas SMTP
e smtp_port
.
Descomente sendmail_path
e adicione o caminho completo ao binário do sendmail diretamente após o sinal =.
Em seguida, edite isso
# /etc/init.d/postfix restart
# /etc/init.d/apache2 restart
Em seguida, tente enviar uma mensagem de um script php, se falhar, verifique o arquivo /var/log/mail.info.