我将 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 = 'example@gmail.com'; $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 关注
- 152 浏览
添加回答
举报
0/150
提交
取消