2016-09-20 1 views
-2

Я пытаюсь отправить сообщение по электронной почте с помощью smtp gmail, но у меня есть эррос. Во-первых, у меня был «класс SMTP не найден», следуя руководству github, чтобы установить PHPMalier, и я обнаружил, что мне нужен класс smtp «class.smtp.php». У меня были ошибки, поэтому я увидел, что мне нужно требовать «PHPMailerAutoLoad.php» вместо «class.PHPMailer.php». Теперь у меня есть другие эры. Я устал! Я пытаюсь исправить это много времени назад. Посмотрите сообщение об ошибке, что происходит:Ошибка PHPMailer для подключения в SMTP-сервере gmail

Errors to send email using smtp.gmail.com

Я сделал класс для отправки электронной почты, как, например, в мерзавца:

<?php 

    $txtName = "Bruno"; 
    $txtAs = "As"; 
    $txtEmail = "Text mail"; 
    $txtMensage = "Text Body"; 
    $mensageBody   = "<b>Name:</b> ".$txtName." <br><b>As:</b> ".$txtAs."<br><b>Message:</b> ".$txtMensage; 

    require 'phpmailer/PHPMailerAutoload.php'; 
    require 'phpmailer/class.smtp.php'; 

    function smtpmailer($to, $from, $nameDes, $as, $body) { 
     global $error; 
     $mail = new PHPMailer(); 

     $mail->IsSMTP(); 
     $mail->SMTPDebug = 2; 
     $mail->SMTPSecure = 'tls'; 
     $mail->Host = 'smtp.gmail.com'; 
     $mail->Port = 587; 
     $mail->SMTPAuth = true; 
     $mail->SMTPSecure = true; 
     $mail->Username = '[email protected]'; 
     $mail->Password = 'pass'; 
     $mail->SetFrom($from, $nameDes); 
     $mail->Subject = $as; 
     $mail->Body = $body; 
     $mail->AddAddress($to); 
     $mail->IsHTML(true); 

     if(!$mail->Send()) { 
      $error = "<font color='red'><b>Mail error: </b></font>".$mail->ErrorInfo; 
      return false; 
     } else { 
      $error = "<font color='blue'><b>Mensagem enviada com Sucesso!</b></font>"; 
      return true; 
     } 
    } 

    if (smtpmailer('[email protected]', '[email protected]', $txtName, $txtAs, $mensageBody)) { 
     Header("location: sucesso.php"); 
    } 
    if (!empty($error)) echo $error; 

    ?> 

Мой проект дерево выглядеть так:

Project Tree

Я уже пытался найти конфиги в учетной записи gmail и проверить эти ссылки: PHPMailer "Could not connect to SMTP host." phpmailer Could not connect to SMTP

И еще ... Но мне ничего не помогло. Пожалуйста, мне нужна помощь!

+1

Об этом говорится в руководстве по устранению неполадок PHPMailer, к которому относятся сообщение об ошибке (и другие вопросы). Прочтите. Кроме того, вам не нужно загружать SMTP-класс вручную, если вы загрузили автозагрузчик, и вам не нужно ничего загружать вручную, если вы используете композитор. – Synchro

+0

Хорошо, я удалил это, но ошибка сохраняется. Я уже прочитал «Устранение неполадок», и я уже пробовал много вещей, которые я нашел там, но без решения. –

+0

Итак, что случилось, когда вы пытались подключиться к telnet? – Synchro

ответ

0

Я нашел ошибку. Я использовал пример Locaweb для отправки писем с помощью phpMailer, но я добавляю SMTPSecure = 'tls'; и я понял!

Это сообщение помогло мне: "SMTP Error: Could not authenticate" in PHPMailer

Это сообщение о PHPMailer из Locaweb: (Португальский) http://wiki.locaweb.com.br/pt-br/Enviar_e-mails_pelo_PHP_usando_o_PHPMailer

Спасибо !!