我正在使用PHPMailer在webform提交时成功发送电子邮件(因此只使用基本的帖子数据,没有mysql数据库或任何查找)。
我需要做的是发送两封单独的电子邮件,一个版本供客户使用,另一个版本发送给客户服务代理商 - 这样当用户完成网络表单时,他们将收到电子邮件的“营销”版本,同时客户服务代理将收到一封电子邮件,其中包含用户提交的详细信息。
请参阅下面我正在使用的内容,但不确定如何最好地实施发送secoind电子邮件?它目前失败,只发送一封电子邮件后脚本退出。
$body = ob_get_contents();
$to = 'removed';
$email = 'removed';
$fromaddress = "removed";
$fromname = "removed";
require("phpmailer.php");
$mail = new PHPMailer();
$mail->From = $fromaddress;
$mail->FromName = $fromname ;
$mail->AddAddress("email@example.com");
$mail->WordWrap = 50;
$mail->IsHTML(true);
$mail->Subject = "Subject";
$mail->Body = $body;
$mail->AltBody = "This is the text-only body";
if(!$mail->Send()) {
$recipient = 'email@example.com';
$subject = 'Contact form failed';
$content = $body;
mail($recipient, $subject, $content,
"From: mail@yourdomain.com\r\nReply-To: $email\r\nX-Mailer: DT_formmail");
exit;
}
//Send the customer version
$mail=new PHPMailer();
$mail->SetFrom('email', 'FULLNAME');
$mail->AddAddress($mail_vars[2], 'sss');
$mail->Subject = "Customers email";
$mail->MsgHTML("email body here");
//$mail->Send();
答案 0 :(得分:0)
在客户版本中,您没有像在第一个版本中那样设置电子邮件的属性。例如,您在第一个中使用$mail->From = $fromaddress;
,在第二个中使用$mail->SetFrom('email', 'FULLNAME');
。
因为您实例化了一个新的$mail=new PHPMailer();
,所以需要再次设置属性。
答案 1 :(得分:0)
为什么不让PHPMailer TELL 解决问题呢?
if (!$mail->send()) {
$error = $mail->ErrorInfo;
echo "Mail failed with error: $error";
}