2016-09-20 161 views
-2

我想發送電子郵件使用gmail的smtp,但我有erros。首先,根據github手冊安裝PHPMalier,我發現「class SMTP not found」,我發現我需要smtp類「class.smtp.php」。我還有錯,所以我看到我需要「PHPMailerAutoLoad.php」而不是「class.PHPMailer.php」。現在,我有其他的錯誤。我累了!我正在嘗試解決這個問題。看看正在發生的錯誤:PHPMailer錯誤連接在Gmail的SMTP

Errors to send email using smtp.gmail.com

我做了一個類來發送電子郵件像git的例子:

<?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類,並且如果您使用的是Composer,則不需要手動加載任何內容。 – Synchro

+0

好的,我刪除了,但錯誤仍然存​​在。我已經閱讀了故障排除,並且我已經嘗試了很多我在那裏找到的東西,但沒有解決方案。 –

+0

那麼當你嘗試telnet時發生了什麼? – Synchro

回答

相關問題