Como enviar emails do localhost com o Sendmail no Xampp usando o Gmail

envio de emails em localhost-com o sendmail no xampp usando o gmail
Compartilhe:

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 = seu_email@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, 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. Pode ser que seja necessário refazer o login na Conta Google com a verificação em duas etapas.

Depois vá em Painel Minha Conta do Google / Segurança / Verificação em duas etapas / e clique em Senhas de app para criar uma senha de aplicativo. Digite o nome do APP e clique em “Criar”.

Após clicar em Gerar você verá a senha de 16 dígitos em um quadro como abaixo. Contudo, desconsidere o texto apresentado. Somente copie a senha e cole depois de auth_password= no arquivo sendmail.ini retirando os espaços da senha. 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@site.com.br";
$subject = "Teste de envio de email por Sendmail/Xampp";
$body = "Olá, este é um email de teste enviado por Sendmail/Xampp";
$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@site.com.br.”. Caso apareça a frase “Falha no envio do email.” revise as configurações.

Na conta de email seu_email@gmail.com você vai receber uma mensagem com o assunto “Teste de envio de email por Sendmail/Xampp”.

Pronto agora você pode testar suas aplicações. Não esqueça de substituir o C:\ para o drive onde você instalou o Xampp.

Como enviar emails do localhost com o Sendmail no Xampp usando o Gmail

9 pensou em “Como enviar emails do localhost com o Sendmail no Xampp usando o Gmail

  1. 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!

    1. “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.

  2. Tive o mesmo problema que o Thiago. Aparece que foi enviado, porem sem sucesso. Segui todos os passos e nada de funcionar

    1. 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?

  3. 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.

    1. 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.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para o topo