看板 PHP 關於我們 聯絡資訊
※ 引述《rjackie (向前走,才知道轉角)》之銘言: : 各位大大,小弟有一個小問題 : 因專案中有遇到PHPMailer+gmail發信的功能,在本機上可以正常的 : 發信,但是不知道為什麼上傳到客戶的主機就會發生 : Mailer Error: SMTP connect() failed. : https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting : 的錯誤,以下是程式碼還請各位能解惑 : ?> : require_once('PHPMailer/PHPMailerAutoload.php'); : $mail= new PHPMailer(); : $mail->Host = "ssl://smtp.gmail.com"; : $mail->IsSMTP(); : $mail->SMTPAuth = true; : $mail->SMTPSecure = "ssl"; : $mail->Port = 465; : $mail->Username = "[email protected]"; : $mail->Password = "XXXXXXXX"; 今天也遇到同樣的問題,已解決 我是先在自己電腦上測試, 本來沒辦法寄出, 到gmail帳號的「安全性」頁面把「低安全性應用程式存取權」設為「開啟」就可以了 不過同樣的程式上傳到伺服器之後卻無法順利寄出, 按大家推文的說法,打電話填客服單給伺服器廠商,請求開防火牆的設定 防火牆權限開完之後,信件還是無法寄出,不過錯誤訊息有一些不同, 依著下面的網址去做帳號權限的設定就可以了, 包括:「啟用兩步驟驗證功能」,以及最重要最關鍵的「產生及使用應用程式密碼」 https://support.google.com/accounts/answer/185833? hl=zh-Hant&ctx=ch_DisplayUnlockCaptcha 我們必須去產生一組「16位數代碼」,然後套入到這個Password變數(Username不變), 然後信就順利寄出了^^ 感恩 : $mail->CharSet = "utf-8"; : $mail->From = "[email protected]"; : $mail->FromName = "Aidec"; : $mail->AddAddress("[email protected]", "我是收件人"); : $mail->IsHTML(true); : $mail->Subject = "主題-測試郵件"; : $mail->Body ="內容-測試test123"; : $mail->AltBody = '當收件人的電子信箱不支援html時,會顯示這串~~'; : if(!$mail->send()) { : echo '信件發送失敗!!'; : echo 'Mailer Error: ' . $mail->ErrorInfo; : } else { : echo '信件已發送!!'; : } : ?> : 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.235.77.86 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1595501500.A.0F2.html ※ 編輯: backfish (36.235.77.86 臺灣), 07/23/2020 18:58:34
zx4109: 推,感謝分享解法 07/24 00:18
tper8042: 推分享 10/15 01:10