iT邦幫忙

0

PHPMailer在雲端Server出現SMTP Error

  • 分享至 

  • xImage

我是用Gandi.net server的,我原本是用XAMPP主機測試網頁都一切正常,但我把網頁搬到Gandi.net server去,就得到訊息:SMTP Error: Could not authenticate.PHPMailer就不能運作了。有人知道解決方法嗎?
以下是我目前的程式碼,是有那裡出錯了嗎?

<?php
use PHPMailer\PHPMailer\PHPMailer;

require_once 'phpmailer/Exception.php';
require_once 'phpmailer/PHPMailer.php';
require_once 'phpmailer/SMTP.php';

$mail = new PHPMailer(true);

$alert = '';

if(isset($_POST['submit'])){
  $name = $_POST['name'];
  $email = $_POST['email'];
  $phone = $_POST['phone'];
  $booking = $_POST['booking'];
  $bookDate = $_POST['bookDate'];

  try{
    $mail->isSMTP();
    $mail->Host = 'smtp.gmail.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'XXXXX@gmail.com';
    $mail->Password = 'XXXXXX'; // Gmail address Password
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
    $mail->Port = '587';

    $mail->setFrom('XXXXX@gmail.com');
    $mail->addAddress('XXXXX@gmail.com');  

    $mail->CharSet = 'UTF-8';

    $mail->isHTML(true);
    $mail->Subject = "客戶預約($name)";
    $mail->Body = "<h3>姓名 : $name <br>電郵: $email <br>電話 : $phone <br>預約服務 : $booking <br>預約時間 : $bookDate </h3>";

    $mail->send();
    $alert = '<div class="alert-success">
                 <span>Message Sent! Thank you for contacting us.</span>
                </div>';
  } catch (Exception $e){
    $alert = '<div class="alert-error">
                <span>'.$e->getMessage().'</span>
              </div>';
  }
}
?>

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
ckp6250
iT邦好手 1 級 ‧ 2020-12-23 05:44:57

PHPMailer 的版本?
PHP 版本?

aki942959 iT邦新手 5 級 ‧ 2020-12-24 01:30:41 檢舉

PHPMailer 6.2.0
PHP 7.3

ckp6250 iT邦好手 1 級 ‧ 2020-12-24 05:52:33 檢舉

您的XAMPP主機和Gandi.net server,
這二組都是一致的嗎?

0
japhenchen
iT邦超人 1 級 ‧ 2020-12-23 07:38:58

到Gmail的帳戶設定裡,把SMTP給打開吧,且到GOOGLE ONE的安全設定裡,把這台主機的登錄動作"允許"試試

aki942959 iT邦新手 5 級 ‧ 2020-12-24 01:29:20 檢舉

安全設定的我都已經做了。原本在本機伺服(XAMPP)Mail是可以傳送的,但換到正式伺服就不行了

0
wrxue
iT邦好手 1 級 ‧ 2020-12-23 10:39:25

應用程式開發中,以Gmail寄信是不能直接用Gmail密碼的
請在https://myaccount.google.com/u/4/security
先申請Gmail Application Password
參考https://support.google.com/mail/answer/185833?hl=en

aki942959 iT邦新手 5 級 ‧ 2020-12-24 01:36:56 檢舉

我是網頁開發,網頁也要設置?

wrxue iT邦好手 1 級 ‧ 2020-12-24 12:53:54 檢舉

是的喔! 應用程式包含網頁、桌面、移動等應用程式

我要發表回答

立即登入回答