Primeiramente agradeço por compartilhar e por sua didática, muito fácil de se entender e o exemplo que foi dado, muito pertinente. Segundo, gostaria de uma ajuda, o exemplo que vc deu para mim funcionou perfeitamente, porém quando fui colocar uma configuração válida de email, esta dando problema. A configuração do meu email é do bol, porém quando tento enviar o email, ele não envia e da o seguinte erro depois de ficar 2 min parado Fatal error: Maximum execution time of 120 seconds exceeded in C:\xampp\htdocs\login2\PHPMailer\src\SMTP.php on line 1271 Vamos ao meu ambiente, estou usando o Xampp V3.3.0 e não sei se tem algo haver , más o phpmailer quando instalei ( através do comando do composer ) ele não veio com o autoload.php. Tentei reinstalar o composer e deu o mesmo problema, então desinstalei o composer e copiei toda a pasta do phpmailer e coloquei em meu projeto e as únicas linhas a mais são essas require 'PHPMailer/src/Exception.php'; require 'PHPMailer/src/PHPMailer.php'; require 'PHPMailer/src/SMTP.php'; Todas as demais configurações estão iguais as suas e tem uma linha adicional para poder exibir todo debug do envio de email. $mail->SMTPDebug = 1; Na tentativa de ajustar a configuração da criptografia do ssl que o bol pede, cheguei a usar o $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; Más não funcionou, pois da o erro 2024-08-25 13:24:58 SMTP ERROR: Failed to connect to server: (0) SMTP Error: Could not connect to SMTP host. Failed to connect to server Erro de email : SMTP Error: Could not connect to SMTP host. Failed to connect to serverSMTP server error: Failed to connect to server Cheguei a usar também o SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS e troquei a porta para 587, porém também não funcionou. Tirando a linha da criptografia é quando ele fica parado e a mensagem de erro que coloquei logo no início. email.bol.uol.com.br/paginas-de-ajuda/sobre/configuracoes/imap-pop/configuracoes-imappop1.jhtm Peguei a configuração do envio de email através do link acima Na configuração de envio //Recipients $mail->setFrom("$usuario_email", "Usuário Principal"); $mail->addAddress("$email", "$nome"); //Add a recipient Está sendo colocado emails válidos, e no setfrom é o meu email de autenticação Será que poderia me dar uma ajuda nesse caso, pesquisando na net não achei nenhuma solução para o meu problema, desde já agradeço
Oi @alvarobernardi1, obrigado pelo seu comentário. Então. Minha sugestão é mudar de servidor. hehe. Esse erro Maximum execution time, significa que sua programação não está conseguindo conectar ao serviço de e-mail do bol para após isso fazer o envio de e-mail. A experiencia que tenho com o bol não é boa porque ele tem uma politica de e-mail com muitas limitações e regras. Minha sugestão é usar um host de e-mail de um domínio que não use e-mail gratuito. Realize novos testes e me conte como foi a solução deste problema.
Olá, funciona, mas o e-mail chega como spam. Vi numa documentação que entre outros detalhes, é necessário implementar SPF, DKIM e DMARC no domínio. Por favor, analise e retorne. Obrigado!
Oi @rogerfsp. Isso mesmo. Para um envio saudável de e-mail tem que ter todos esses itens configurados. Mas isso já é padrão em todos os servidores de e-mail. Porque se não tiver configurado até os e-mails corporativos vão cair na caixa de spam. Obrigado pela observação
Eu empaquei logo no inicio na parte do copia e coloca o composer require phpmailer/phpmailer, pq assim que eu coloco o comando da esse erro composer : O termo 'composer' não é reconhecido como nome de cmdlet, função, arquivo de script ou programa operável. Verifique a grafia do nome ou, se um caminho tiver sido incluído, veja se o caminho está correto e tente novamente. No linha:1 caractere:1 + composer require phpmailer/phpmailer + ~~~~~~~~ + CategoryInfo : ObjectNotFound: (composer:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
Está dando erro de autenticação no meu, vi várias pessoas resolvendo fazendo uma config na conta Google, na opção "Allow less secure apps", mas parece que tiraram essa função, teria algum jeito de resolver isso?
Oi @diegopadaratz, tudo bem!? Pelo Google de fato é bem complicado. A minha sugestão é usar a configuração de SMTP de uma hospedagem, sem usar os recursos de e-mails gratuitos como Hotmail, Gmail etc... Analisa direitinho ai e posta para nós qual foi a solução que encontrou. Desde já muito obrigado.
Deixa eu perguntar, aqui deu tudo certinho.. eu só fiquei sem entender se o email é entregue de verdade mesmo em ambiente de teste. porque eu configurei um email real, no mailtrap disse que o email foi enviado, mas o email não chegou, nem no spam.
@thomassantos8311 o e-mail é entregue tanto em ambiente de teste quanto em desenvolvimento, se não chegou tente analisar com outro e-mail ou tentar exibir os erros que pode ter acontecido algo. A ideia do mail mailtrap é simular um envio mesmo. Da mesma forma que chega no mailtrap deverá chegar em outro e-mail. Uma coisa que pode acontecer é o e-mail que você configurou rejeitar o recebimento do e-mail. Assim sua aplicação da como sucesso de envio mas seu servidor de e-mail não deixa nem chegar na caixa de entrada. Tente mudar o e-mail configurado para ver se consegue simular melhor.
@user-es9rh4nw7w o e-mail é entregue tanto em ambiente de teste quanto em desenvolvimento, se não chegou tente analisar com outro e-mail ou tentar exibir os erros que pode ter acontecido algo. A ideia do mail mailtrap é simular um envio mesmo. Da mesma forma que chega no mailtrap deverá chegar em outro e-mail. Uma coisa que pode acontecer é o e-mail que você configurou rejeitar o recebimento do e-mail. Assim sua aplicação da como sucesso de envio mas seu servidor de e-mail não deixa nem chegar na caixa de entrada. Tente mudar o e-mail configurado para ver se consegue simular melhor.
Primeiramente agradeço por compartilhar e por sua didática, muito fácil de se entender e o exemplo que foi dado, muito pertinente.
Segundo, gostaria de uma ajuda, o exemplo que vc deu para mim funcionou perfeitamente, porém quando fui colocar uma configuração válida de email, esta dando problema.
A configuração do meu email é do bol, porém quando tento enviar o email, ele não envia e da o seguinte erro depois de ficar 2 min parado
Fatal error: Maximum execution time of 120 seconds exceeded in C:\xampp\htdocs\login2\PHPMailer\src\SMTP.php on line 1271
Vamos ao meu ambiente, estou usando o Xampp V3.3.0 e não sei se tem algo haver , más o phpmailer quando instalei ( através do comando do composer ) ele não veio com o autoload.php.
Tentei reinstalar o composer e deu o mesmo problema, então desinstalei o composer e copiei toda a pasta do phpmailer e coloquei em meu projeto e as únicas linhas a mais são essas
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
Todas as demais configurações estão iguais as suas e tem uma linha adicional para poder exibir todo debug do envio de email.
$mail->SMTPDebug = 1;
Na tentativa de ajustar a configuração da criptografia do ssl que o bol pede, cheguei a usar o
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
Más não funcionou, pois da o erro
2024-08-25 13:24:58 SMTP ERROR: Failed to connect to server: (0)
SMTP Error: Could not connect to SMTP host. Failed to connect to server
Erro de email : SMTP Error: Could not connect to SMTP host. Failed to connect to serverSMTP server error: Failed to connect to server
Cheguei a usar também o SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS e troquei a porta para 587, porém também não funcionou.
Tirando a linha da criptografia é quando ele fica parado e a mensagem de erro que coloquei logo no início.
email.bol.uol.com.br/paginas-de-ajuda/sobre/configuracoes/imap-pop/configuracoes-imappop1.jhtm
Peguei a configuração do envio de email através do link acima
Na configuração de envio
//Recipients
$mail->setFrom("$usuario_email", "Usuário Principal");
$mail->addAddress("$email", "$nome"); //Add a recipient
Está sendo colocado emails válidos, e no setfrom é o meu email de autenticação
Será que poderia me dar uma ajuda nesse caso, pesquisando na net não achei nenhuma solução para o meu problema, desde já agradeço
Oi @alvarobernardi1, obrigado pelo seu comentário.
Então. Minha sugestão é mudar de servidor. hehe.
Esse erro Maximum execution time, significa que sua programação não está conseguindo conectar ao serviço de e-mail do bol para após isso fazer o envio de e-mail. A experiencia que tenho com o bol não é boa porque ele tem uma politica de e-mail com muitas limitações e regras.
Minha sugestão é usar um host de e-mail de um domínio que não use e-mail gratuito.
Realize novos testes e me conte como foi a solução deste problema.
Olá, funciona, mas o e-mail chega como spam. Vi numa documentação que entre outros detalhes, é necessário implementar SPF, DKIM e DMARC no domínio. Por favor, analise e retorne. Obrigado!
Oi @rogerfsp. Isso mesmo. Para um envio saudável de e-mail tem que ter todos esses itens configurados. Mas isso já é padrão em todos os servidores de e-mail. Porque se não tiver configurado até os e-mails corporativos vão cair na caixa de spam. Obrigado pela observação
Eu empaquei logo no inicio na parte do copia e coloca o composer require phpmailer/phpmailer, pq assim que eu coloco o comando da esse erro composer : O termo 'composer' não é reconhecido como nome de cmdlet, função, arquivo de script ou programa operável. Verifique a
grafia do nome ou, se um caminho tiver sido incluído, veja se o caminho está correto e tente novamente.
No linha:1 caractere:1
+ composer require phpmailer/phpmailer
+ ~~~~~~~~
+ CategoryInfo : ObjectNotFound: (composer:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
É necessário instalar o composer para resolver esse erro.
Oi @AndreLuiz-pp4tl conseguiu avançar? Aparentemente você não tem o composer instalado. Forte abraço e boa sorte
Está dando erro de autenticação no meu, vi várias pessoas resolvendo fazendo uma config na conta Google, na opção "Allow less secure apps", mas parece que tiraram essa função, teria algum jeito de resolver isso?
Oi @diegopadaratz, tudo bem!?
Pelo Google de fato é bem complicado. A minha sugestão é usar a configuração de SMTP de uma hospedagem, sem usar os recursos de e-mails gratuitos como Hotmail, Gmail etc...
Analisa direitinho ai e posta para nós qual foi a solução que encontrou.
Desde já muito obrigado.
Opa, tem como usar um tunel de comunicação ssh para chegar até o servidor e disparar o email? Sabe fazer ou tem algum video para indicar?
Acredito que tenha sim, mas nunca fiz. Utilizando api do lado do back-end já seria uma boa abordagem para isso.
Deixa eu perguntar, aqui deu tudo certinho.. eu só fiquei sem entender se o email é entregue de verdade mesmo em ambiente de teste. porque eu configurei um email real, no mailtrap disse que o email foi enviado, mas o email não chegou, nem no spam.
@thomassantos8311 o e-mail é entregue tanto em ambiente de teste quanto em desenvolvimento, se não chegou tente analisar com outro e-mail ou tentar exibir os erros que pode ter acontecido algo.
A ideia do mail mailtrap é simular um envio mesmo. Da mesma forma que chega no mailtrap deverá chegar em outro e-mail.
Uma coisa que pode acontecer é o e-mail que você configurou rejeitar o recebimento do e-mail. Assim sua aplicação da como sucesso de envio mas seu servidor de e-mail não deixa nem chegar na caixa de entrada. Tente mudar o e-mail configurado para ver se consegue simular melhor.
@user-es9rh4nw7w o e-mail é entregue tanto em ambiente de teste quanto em desenvolvimento, se não chegou tente analisar com outro e-mail ou tentar exibir os erros que pode ter acontecido algo.
A ideia do mail mailtrap é simular um envio mesmo. Da mesma forma que chega no mailtrap deverá chegar em outro e-mail.
Uma coisa que pode acontecer é o e-mail que você configurou rejeitar o recebimento do e-mail. Assim sua aplicação da como sucesso de envio mas seu servidor de e-mail não deixa nem chegar na caixa de entrada. Tente mudar o e-mail configurado para ver se consegue simular melhor.
bom dia...no servidor Locaweb não funciona...o arquivo com phpmailer fica travado...
Serio! Tem que ver com o suporte qual meio que eles permitem para enviar email com php
O meu n deu certo, segui o video certinho
Oi @sheyllameazza6242, qual erro que mostrou?
Me envie para que eu possa te ajudar.