当我尝试使用PHPMailer类发送电子邮件时,我收到此错误: 邮件程序错误:邮件正文为空:
<?php
include("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "rsb20.rhostbh.com";
$mail->Port = 465;
$mail->Username = "jobserreker+furrtexlab.com";
$mail->Password = "12345678a";
$mail->From = "jobserreker@furrtexlab.com";
$mail->FromName = "Job Seeker";
$mail->Subject = $_GET['subject'];
$mail->MsgHTML($_GET['msg']);
$mail->AddAddress($_GET['to'],"name to");
$mail->IsHTML(false);
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}else{
echo "Message sent!";
}
?>
答案 0 :(得分:5)
正如Gerald Versluis所说,由于你将IsHTML()设置为false,你必须使用 - &gt; Body属性来设置邮件的实际主体。
$mail->Body = $_GET['msg'];
您还应该使用POST而不是GET来提交导致操作执行的内容。
答案 1 :(得分:0)
此帖已在此处提及。 Phpmailer sending attachments, but not the body
他们发现他们无法发送身体和附件。
答案 2 :(得分:0)
我有这两行代码,但没有任何contents.html文件,我必须创建一个以避免错误。
//Read an HTML message body from an external file, convert referenced imagesto embedded,
//convert HTML into a basic plain-text alternative body
$mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__));
//Replace the plain text body with one created manually
$mail->AltBody = 'This is a plain-text message body';`