我是PHPMailer的新手,我想用这个类发送一封HTML邮件。但是我得到的信息是身体是空的。
这是我的代码:
<?php
$bericht .= 'my html and php code that format the mail';
require_once('class.phpmailer.php');
$mail = new PHPMailer(); // defaults to using php "mail()"
$body = preg_replace('/[\]/','',$bericht);
$mail->SetFrom('email@adres', 'Name');
$address = "email@adres";
$mail->AddAddress($address, "");
$mail->Subject = "PHPMailer Test Subject via mail(), basic";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
我做错了什么?
答案 0 :(得分:1)
我认为您的preg_replace()
存在问题。如果我尝试在我的服务器上运行它,我会收到此警告:
警告:preg_replace():编译失败:缺少终止]对于偏移量为3的字符类
您是否尝试过不使用preg_replace()
的代码,即只是将$bericht
传递给MsgHTML()
?
答案 1 :(得分:0)
我认为您的代码中存在错误
$bericht .= (my html and php code that format the mail);
应该是
$bericht = 'my html and php code that format the mail';
然后代替此
$body = $bericht;
$body = preg_replace('/[\]/','',$body);
更容易做到这一点
$body = preg_replace('/\[\]/','',$bericht);
答案 2 :(得分:0)
如果没有必要,我误解了为什么你需要用变量做这个INCREMENT。
$bericht .= ...;
是的,那里的引号中的字符串值在哪里?