0

我是 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!";
}

我究竟做错了什么?

4

3 回答 3

1

我觉得你的有问题preg_replace()。如果我尝试在我的服务器上运行它,我会收到以下警告:

警告:preg_replace():编译失败:偏移 3 处的字符类缺少终止]

您是否尝试了没有preg_replace(), 即仅通过传递$bericht到的代码MsgHTML()

于 2013-03-27T12:30:38.607 回答
0

我误解了如果不需要变量,为什么需要对变量执行此增量。

$bericht .= ...;

是的,引号内的字符串值在哪里?

于 2013-03-27T12:39:14.630 回答
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);
于 2013-03-27T12:24:40.237 回答