Vamos configurar o XAMPP no Windows para usar o sendmail.exe para enviar no localhost notificações de e-mail através do Gmail seguindo etapas abaixo.
Lembrando que você deverá configurar a conta do Google para acessar com autenticação em duas etapas e criar uma senha para aplicativo. Vou tratar deste assunto logo mais abaixo.
1 – Editando arquivos
Edite o arquivo php.ini na pasta C:\Xampp\php. Dentro deste arquivo, encontre a seção [mail function], comente duas as linhas ativas logo abaixo dela com ; e cole depois as seguintes diretivas:
SMTP=smtp.gmail.com smtp_port=465 sendmail_from = usuario@gmail.com sendmail_path = "\"X:\xampp\sendmail\sendmail.exe\" -t" O X é a letra da partição onde está instalado o Xampp (Cou D, etc)
Agora edite o arquivo sendmail.ini na pasta C:\Xampp\sendmail. Dentro deste arquivo, encontre a seção [sendmail], comente todas as linhas abaixo dela com um ; e depois no final do arquivo cole as linhas abaixo:
smtp_server=smtp.gmail.com smtp_port=465 smtp_ssl=ssl error_logfile=error.log debug_logfile=debug.log auth_username=seu_email@gmail.com auth_password= (senha de aplicativo que será gerada no painel da sua conta Google) force_sender=seu_email@gmail.com hostname=localhost Não esqueça de colocar o seu email do Gmail em "auth_username" e "force_sender" e a sua senha em "auth_password".
2 – Configurando a conta Google
Acessa o Painel Minha Conta do Google e no menu lateral você deve clicar em Segurança, role para baixo até a sessão Como fazer login no Google
Agora ative o login em duas etapas (1), refaça o login e siga os procedimentos apresentados na tela como cadastrar um telefone para receber o código de ativação para digitar e terminar esse passo.

Depois clique em Senhas de app (2) para criar uma senha de aplicativo. Será pedido para efetuar o login novamente e na próxima tela preencha como mostrado na imagem abaixo.

Após clicar em Gerar você verá a senha de 16 dígitos em um quadro como abaixo. Desconsidere o texto apresentado. Somente copie a senha e cole depois de auth_password= no arquivo sendmail.ini. Salve e reinicie o Apache.

3 – Configurando o envio de email
Agora crie um arquivo teste.php salve em C:\Xampp\htdocs com o código abaixo:
<?php
$to_email = "outroemail@email.com.br";
$subject = "Teste simples de envio de email via PHP";
$body = "Olá, este é um email de teste enviado por PHP Script";
$headers = "From: sender\'s email";
if (mail($to_email, $subject, $body, $headers)) {
echo "Email enviado com sucesso para $to_email.";
} else {
echo "Falha no envio do email.";
}
?>
Nesse script use outra conta de email do Google ou de outro provedor de email qualquer para ter certeza que está funcionado.
4 – Testando a configuração
Carregue a url http://localhost/teste.php aguarde e logo você verá o frase “Email enviado com sucesso para outroemail@email.com.br.”. Caso apareça a frase “Falha no envio do email.” revise as configurações.
Na conta de email outrousuario@gmail.com você vai receber uma mensagem com o assunto “Teste simples de envio de email via PHP”.
Pronto agora você pode testar suas aplicações. Não esqueça de substituir o C:\ para o drive onde você instalou o Xampp.
Bom dia Carlos.
Quero te agradecer pela ajuda e suporte, e depois de entender minha necessidade, ajustou o código e funcionou tudo perfeitamente.
Super indico o seu tutorial para quem estiver passando pelo mesmo problema.
Muito obrigado!
Muito bom, acabei de seguir o tutorial e deu tudo certinho. Muito obrigado!
show de boa, excelente tutorial
o meu aparece a mensagens que foi enviado mas nao recebo nenhum email o que faço?
“Boa noite Thiago,
Eu refiz os passos aqui e funcionou corretamente.
Veja se você trocou o X pela letra da partição onde está instalado o XAMPP. Verifique se nos arquivos php.ini e sedmail.ini você trocou onde está “seu_email@gmail.com” pelo seu email do Gmail.
Verifique se no arquivo sendmail.ini onde está escrito “sua_senha” você alterou para a senha do email.
Tenha a certeza que você acessou o painel da sua conta Google, foi em Segurança e ativou o acesso a app menos seguro.
E por fim no arquivo teste.php você trocou o “outroemail@email.com.br” por um outro email diferente daquele que você colocou nos outros 2 arquivos.
Verifique se o seu XAMPP tem o arquivo “X:\xampp\sendmail\sendmail.exe. Caso não tenha você terá que atualiza-lo.
Espero ter ajudado.
Tive o mesmo problema que o Thiago. Aparece que foi enviado, porem sem sucesso. Segui todos os passos e nada de funcionar
Bom dia Silfarley, refiz configurações aqui na minha máquina e acabei de testar e funcionou certinho. “Ativou o Acesso a app menos seguro” na conta Google que você vai usar o smtp? Usuário e senha estão certos?
Olá, quero agradecer pelo tutorial. Eu segui os passos e ainda assim não envia o e e-mail, já revi as configs nos arquivos de sendmail.ini e php.ini e está okay.
Aparece a mensagem:
Warning: mail(): Failed to connect to mailserver at “localhost” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set() in C:\xampp\htdocs\pw11\teste.php on line 7
Falha no envio do email.
Boa noite May.
Desculpe a demora em responder estava muito corrido aqui e tive que pesquisar e testar algumas coisas e fazer as alterações no post para ficar funcional novamente o procedimento.
Atualizei o post para com novos procedimentos funcionar corretamente.
O Google modificou a forma de usar o SMTP para envio de email de forma segura.
Testei aqui e está funcionando corretamente com as mudanças que fiz. Por favor tente novamente seguindo o tutorial.
Obrigado pelo fedback.