erro ao enviar email com PHPMailer

Fernando Pedro 20 Pontos de reputação
2024-08-06T15:43:32.5266667+00:00

Meu email está hospedado na Microsoft, mas não consigo usa o PHPMailer na minha ferramenta, não autentica e não envia a mensagem...

Office
Office
Um conjunto de softwares de produtividade da Microsoft que dá suporte a tarefas de negócios comuns, como processamento de texto, emails, apresentações e gerenciamento e análise de dados.
112 perguntas
0 comentários Sem comentários
{count} votos

Resposta aceita
  1. Jonathan Pereira Castillo 7,930 Pontos de reputação Fornecedor da Microsoft
    2024-08-06T20:32:30.2866667+00:00

    Oi Fernando Pedro!

    Bem-vindo ao Microsoft Q&A!

    Aqui estão algumas dicas que podem ajudar a resolver o problema:

    1. Configurações SMTP: Certifique-se de que está usando as configurações corretas para o servidor SMTP da Microsoft:
      • Servidor SMTP: smtp.office365.com
      • Porta: 587
      • Segurança: tls
      • Autenticação: true
    2. Credenciais: Verifique se o nome de usuário e a senha estão corretos. Lembre-se de que, se você estiver usando autenticação multifator (MFA), pode ser necessário criar uma senha de aplicativo específica para PHPMailer.
    3. Permissões: Certifique-se de que a conta de e-mail tem permissão para enviar e-mails. Às vezes, pode ser necessário configurar permissões adicionais no painel de administração do Office 365.
    4. Erros Comuns: Um erro comum é o SMTP ERROR: DATA END command failed: 554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied. Isso geralmente indica que a conta de envio não tem permissão para enviar e-mails em nome do remetente especificado.
    5. Exemplo de Código: PHP
         use PHPMailer\PHPMailer\PHPMailer;
         use PHPMailer\PHPMailer\Exception;
         require 'path/to/PHPMailer/src/Exception.php';
         require 'path/to/PHPMailer/src/PHPMailer.php';
         require 'path/to/PHPMailer/src/SMTP.php';
         $mail = new PHPMailer(true);
         try {
             $mail->isSMTP();
             $mail->Host = 'smtp.office365.com';
             $mail->SMTPAuth = true;
             $mail->Username = 'seu-email@dominio.com';
             $mail->Password = 'sua-senha';
             $mail->SMTPSecure = 'tls';
             $mail->Port = 587;
             $mail->setFrom('seu-email@dominio.com', 'Seu Nome');
             $mail->addAddress('destinatario@dominio.com', 'Nome do Destinatário');
             $mail->isHTML(true);
             $mail->Subject = 'Assunto do Email';
             $mail->Body    = 'Corpo do email em <b>HTML</b>';
             $mail->AltBody = 'Corpo do email em texto simples';
             $mail->send();
             echo 'Mensagem enviada com sucesso';
         } catch (Exception $e) {
             echo "A mensagem não pôde ser enviada. Erro do Mailer: {$mail->ErrorInfo}";
         }
         
         
      

    Espero que essas dicas ajudem a resolver o problema! Se precisar de mais assistência, estou à disposição.

    Saudações

    Jonathan.

    -----------

    Se a resposta for a solução correta, clique em "Aceitar resposta" e vote educadamente nela. Se você tiver perguntas adicionais sobre essa resposta, clique em "Comentar". Nota: Siga as etapas em nossa documentação para habilitar notificações por e-mail se você gostaria de receber notificações por e-mail relacionadas a este tópico.


1 resposta adicional

Classificar por: Mais útil
  1. Jonathan Pereira Castillo 7,930 Pontos de reputação Fornecedor da Microsoft
    2024-08-08T23:08:20.13+00:00

    Oi Fernando Pedro!

    Tenho verificado e investigado o erro Language string failed to load: tls Language string failed to load: tls, Esse tipo de erro geralmente ocorre quando há um problema com os arquivos de idioma ou configuração do TLS no seu sistema:

    Aqui estão algumas sugestões adicionais que podem ajudar:

    1. Verifique os Arquivos de Idioma: Certifique-se de que os arquivos de idioma necessários estão presentes e corretamente configurados no seu sistema.
    2. Atualize o Software: Às vezes, atualizar o software ou os pacotes relacionados pode resolver problemas de compatibilidade.
    3. Configurações de TLS: Verifique as configurações de TLS no seu sistema. Pode ser necessário ajustar ou corrigir alguma configuração específica.
    4. Logs de Erro: Consulte os logs de erro para obter mais detalhes sobre o problema. Isso pode fornecer pistas adicionais sobre o que está causando o erro.
    5. Reinstalação: Em alguns casos, reinstalar o software ou os pacotes relacionados pode resolver o problema.

    Sinceramente

    Jonathan.

    -----------

    Se a resposta for a solução correta, clique em "Aceitar resposta" e vote educadamente nela. Se você tiver perguntas adicionais sobre essa resposta, clique em "Comentar". Nota: Siga as etapas em nossa documentação para habilitar notificações por e-mail se você gostaria de receber notificações por e-mail relacionadas a este tópico.

    0 comentários Sem comentários

Sua resposta

As respostas podem ser marcadas como Respostas Aceitas pelo autor da pergunta, o que ajuda os usuários a saber a resposta que resolveu o problema do autor.