伊莉討論區
標題:
利用 phpmailer 透過 gmail 寄信問題
[打印本頁]
作者:
jackyo03
時間:
2016-5-26 02:10 PM
標題:
利用 phpmailer 透過 gmail 寄信問題
本帖最後由 jackyo03 於 2016-5-26 02:13 PM 編輯
網路上找了許多答案,但沒有解決我的問題...我寄信後出現這段錯誤訊息"Could not instantiate mail function"
用phpmailer來寄信需要安裝什麼嗎!?
我看網路上許多人都是下載PHPMailer解壓縮後放進PHP資料夾裡,指定目錄給後就可寄信了,主要函數如下:
我應該是沒有設定錯誤才對
<?php
require_once('../PHPMailer/PHPMailerAutoload.php');
require("../phpMailer/class.phpmailer.php");
$mail= new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->CharSet = "UTF-8";
$mail->Username = "XXX@gmail.com";
複製代碼
$mail->Password = "******";
$mail->AddAddress("$email,$name");
if(!$mail->Send()){
echo "<p align=center>Error: ".$errorx=$mail->ErrorInfo."</p>";
}else{
echo "<p align=center><b>傳送成功。</b></p>";
複製代碼
作者:
chengpocheng
時間:
2016-5-26 02:55 PM
1.到 phpMailer/class.phpmailer.php,找到下列字串:
$rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
複製代碼
把$params拿掉,改成
$rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header);
複製代碼
試試看
作者:
chengpocheng
時間:
2016-6-1 10:40 AM
樓主把 SSL協議換成TLS試試看
<?php
require_once('../PHPMailer/PHPMailerAutoload.php');
require("../phpMailer/class.phpmailer.php");
$mail= new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "tls";
$mail->Host = "smtp.gmail.com";
$mail->Port = 587;
$mail->CharSet = "UTF-8";
$mail->Username = "XXX@gmail.com";
複製代碼
作者:
kwj
時間:
2016-6-2 12:22 AM
本帖最後由 kwj 於 2016-6-2 12:23 AM 編輯
以前曾經寫過類似的東西,不過後來 Google 在帳號上加入了應用程式密碼的功能
樓主有可能需要試試看把自己的 Google 帳號的應用程式密碼停用
這樣應用程式才能略過驗證,使用舊的(低安全性)的方式存取。
(可以 Google「低安全性應用程式」,就能找到相關的說明)
作者:
B1DE49FC
時間:
2016-6-19 09:44 AM
我之前是透過 Google Apps 的 SMTP 寄信
但忘記哪個時間這個功能被收掉了
有一段過渡期我是自己架設 postfix 發信
但要自己搞定一堆憑證問題
沒設定好還會被當成垃圾信件
最後我跳槽改用別人提供的免費服務
像是 mailgun 或是 mailchimp
樓主如果沒有一定要使用 Gmail 寄信的話可以參考看看
歡迎光臨 伊莉討論區 (http://a401.file-static.com/)
Powered by Discuz!