【发布时间】:2011-06-14 10:37:20
【问题描述】:
好的,我已经下载了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';
}
返回失败。脚本中的代码包含正确的信息,我只是在这里使用了占位符。
【问题讨论】:
-
不是说像
Fatal error: Class 'phpmailer' not found on line #吗? -
@Shakti 不,只是说'失败',就像 if 语句告诉它的那样
-
@Joshwaa:
sendMail如果邮件未发送(如您编码的那样)返回 false 以及如果邮件发送成功返回什么? -
@Shakti 我已将函数更改为
return $mail->Send();,因此它应该返回 true 或 false,具体取决于邮件是否已发送,但我仍然收到“失败”。 -
@Shakti 它都包含在一个全局文件中。 @Nick $mail->ErrorInfo 不返回任何内容:s