我將 smtp gmail 與 phpmailer 一起使用,我想更新我的數據并使用 phpmailer 發送數據。更新數據成功,但 phpmailer 不發送該電子郵件并且不顯示任何錯誤。我如何解決它?這是我的代碼 date_default_timezone_get("Asia/Jakarta"); $getdatasUser = $this->db->query("SELECT IDStatusPendidikan, IDPosisiJabatan FROM mspencaker WHERE IDUser='$iduser'")->result_array(); $ab = $getdatasUser[0]['IDStatusPendidikan']; $ac = $getdatasUser[0]['IDPosisiJabatan']; $dateNow = date("Y-m-d"); $lowonganhasil = $this->db->query("SELECT a.NamaLowongan, a.GajiPerbulan, a.IDLowongan, a.Penempatan, a.SyaratKhusus, b.NamaPerusahaan, b.IDPerusahaan, a.TglBerakhir FROM mslowongan as a JOIN msperusahaan as b ON b.IDPerusahaan = a.IDPerusahaan WHERE a.IDStatusPendidikan='$ab' AND a.IDPosisiJabatan='$ac' AND a.TglBerakhir >= '$dateNow' ORDER BY a.TglBerakhir DESC LIMIT 7")->result_array(); // gambar if (file_exists(BASEPATH .'assets/file/temp/'.$idpencakertemp.'.jpg')){ rename(realpath('assets/file/temp/'.$idpencakertemp.'.jpg'), realpath('assets/file/pencaker').'/'.$getmspencakerdata->IDPencaker.'.jpg'); } // $this->load->model('EmailModel'); $this->load->library('PHPMailer'); $this->load->library('SMTP'); $email_admin = '[email protected]'; $nama_admin = 'Nickname'; $password_admin = 'mypassword'; $mail = new PHPMailer(); $mail->isSMTP(); $mail->SMTPKeepAlive = true; $mail->Charset = 'UTF-8'; $mail->IsHTML(true); // $mail->SMTPDebug = 2; $mail->SMTPAuth = true; $mail->Host = 'smtp.gmail.com'; $mail->Port = 587; $mail->SMTPSecure = 'ssl'; $mail->Username = $email_admin; $mail->Password = $password_admin; $mail->Mailer = 'smtp'; $mail->WordWrap = 100;
1 回答

aluckdog
TA貢獻1847條經驗 獲得超7個贊
兩個錯誤:
// $mail->SMTPDebug = 2;
如果您禁用調試輸出,當您看不到調試輸出時應該不會感到意外。取消注釋并將其設置為3
,這是連接問題的正確級別。
我怎么知道是連接問題?因為你這樣做:
$mail->Port = 587; $mail->SMTPSecure = 'ssl';
這種組合是行不通的。使用端口 587 和'tls'
, 或 465 和'ssl'
; 其他組合將不起作用。
這些內容包含在故障排除指南中。由于您使用的是 gmail,我建議您將代碼基于PHPMailer 提供的 gmail 示例。
- 1 回答
- 0 關注
- 176 瀏覽
添加回答
舉報
0/150
提交
取消