2012-03-01 2 views
1

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

здесь мой предыдущий код:

<?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("[email protected]","I Concept"); 

$mail->SetFrom('[email protected]', 'I Concept'); 

$mail->AddReplyTo("[email protected]","I Concept"); 

$address = "[email protected]"; 
$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>"; 
} 


} 
?> 

ответ

4

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

$address = "[email protected]"; 
$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>"; 
} 
+0

спасибо @Aaron W. это работа ... – ruslyrossi

+0

Это будет работать, но это многословно и неэффективно. Ответ @ inkd правильный. – Synchro

0

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

+0

Как это сделать? показать мне некоторую ссылку .. – ruslyrossi

1

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

Смежные вопросы