Как сделать электронную форму с несколькими получателями и другим телом? - PullRequest
1 голос
/ 01 марта 2012

У меня есть одна контактная форма, когда пользователь отправит все значения отправит (электронная почта) администратору. Но теперь я хочу сделать, когда пользователь отправить администратор получит электронное письмо, и пользователь также получит электронное письмо, но с другим телом.

вот мой предыдущий код:

<?php
if(md5($verif_box).'a4xn' == $_COOKIE['tntcon']){

$name= $_POST["name"];
$email= $_POST["email"];
$phone= $_POST["phone"];
$company= $_POST["company"];
$message= $_POST["message"];

require_once('lib/class.phpmailer.php');

$mail             = new PHPMailer(); // defaults to using php "mail()"

$mail->AddReplyTo("admin@gmail.com","I Concept");

$mail->SetFrom('admin@gmail.com', 'I Concept');

$mail->AddReplyTo("admin@gmail.com","I Concept");

$address = "admin@gmail.com";
$mail->AddAddress($address, "I Concept");

$mail->Subject    = "MY - Request a Quote";

$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->Body = "<strong>Request a Quote from I Concept Malaysia Website</strong><br><br> 

Name : $name<br>
Email : $email<br> 
Phone : $phone<br> 
Company : $company<br> 
Enquiry : $message<br> <br> 

Thank You!<br>

";

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!<br>";
}


}
?>

Ответы [ 3 ]

4 голосов
/ 01 марта 2012

Попробуйте следующее.Не тестировал, но вам нужно запустить еще один объект PHPMailer и отдельно установить информацию body и to.

$address = "admin@gmail.com";
$mail->Subject    = "MY - Request a Quote";

// keeps the current $mail settings and creates new object
$mail2 = clone $mail;

// mail to admin
$mail->AddAddress($address, "I Concept");
$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->Body = "<strong>Request a Quote from I Concept Malaysia Website</strong><br><br> 

    Name : $name<br>
    Email : $email<br> 
    Phone : $phone<br> 
    Company : $company<br> 
    Enquiry : $message<br> <br> 

    Thank You!<br>";

if(!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!<br>";
}

// now send to user.
$mail2->AddAddress($email, $name);
$mail2->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail2->Body = "Separate email body for user filling form out.";

if(!$mail2->Send()) {
    echo "Mailer Error: " . $mail2->ErrorInfo;
} else {
    echo "Message sent!<br>";
}
1 голос
/ 29 мая 2015

Клонирование объекта PHPmailer не требуется.Просто используйте метод ClearAllRecipients, встроенный в PHPmailer, перед изменением тела и отправкой второго электронного письма.

0 голосов
/ 01 марта 2012

Я уверен, что вы не можете отправлять разные тела за один вызов SMTP. Однако вы можете просто отправить первое электронное письмо и запустить новый PHPMailer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...