好的,所以我已经下载了PHP Mailer's课程,需要使用require_once
,然后创建一个发送邮件的功能:
public function sendMail($to, $subject, $body) {
$mail = new phpmailer;
$mail->IsSMTP(); // set mailer to use SMTP
$mail->SMTPAuth = true;
$mail->Username = 'USERNAME';
$mail->Password = 'PASSWORD';
$mail->Port = 465;
$mail->SMTPSecure = 'SSL';
$mail->From = "EMAIL";
$mail->FromName = "FROM NAME";
$mail->Host = "smtp.gmail.com;"; // specify main and backup server
if(is_array($to)) {
foreach($to as $x) {
$mail->AddAddress($x);
}
} else {
$mail->AddAddress($to);
}
$mail->AddReplyTo("REPLY EMAIL", "REPLY NAME");
$mail->WordWrap = 50; // set word wrap
$mail->IsHTML(true); // set email format to HTML
$mail->Subject = $subject;
$mail->Body = $body;
if(!$mail->Send()){
return false;
}
}
当我去做时(它在$ core类中)
if($core->sendMail('MYEMAIL@gmail.com', 'Something', 'Some body')) {
echo 'Mail sent';
} else {
echo 'Fail';
}
它返回失败。脚本中的代码包含正确的信息,我刚刚使用占位符在此处发布。
答案 0 :(得分:2)
if(!$mail->Send()){
return false;
}
应该是
if(!$mail->Send()){
return false;
} else {
return true;
}
因为函数内部未指定返回值时,默认情况下函数返回false。
你也可以使用更清洁的版本:
return $mail->Send();
答案 1 :(得分:1)
$mail
包含错误消息,请执行以下操作:
if (!$mail->Send()) {
throw new Exception($mail->ErrorInfo);
}
而不只是返回“false”。