0

我正在使用 PHPMailer 在提交网络表单时成功发送电子邮件(所以只使用基本的帖子数据,没有 mysql 数据库或任何查找)。

我需要做的是发送两封单独的电子邮件,一封给客户,另一封给客户服务代理 - 这样当用户完成网络表单时,他们将收到电子邮件的“营销”版本,而客户服务代理将收到一封电子邮件,其中仅包含用户提交的详细信息。

请参阅下面我目前使用的内容,但不确定如何最好地实现发送第二封电子邮件?它目前失败并且脚本在仅发送一封电子邮件后退出。

$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();
4

2 回答 2

0

在客户版本中,您不会像第一次那样设置电子邮件的属性。例如,您$mail->From = $fromaddress;在第一个和 $mail->SetFrom('email', 'FULLNAME');第二个中使用。

因为您实例化了一个新的,所以$mail=new PHPMailer();您需要再次设置属性。

于 2013-06-25T15:24:11.730 回答
0

为什么不让 PHPMailer告诉你问题出在哪里,而不是仅仅用一个无用的“某事没有工作”消息来解决问题?

if (!$mail->send()) {
   $error = $mail->ErrorInfo;
   echo "Mail failed with  error: $error";
}
于 2013-06-25T15:24:51.647 回答