2017-12-05 14 views
-1

私は送信者と受信者の両方の電子メールを送信するためにライブサーバーでphpmailerを使用しています。そのうまく動作しますが、送信者のコピーに「私たちに登録していただきありがとうございます」という追加のメッセージを含めることにします。私はそれをすることができません。 これを手伝ってもらえますか?私がこれまで試した コード:PHPmailerを使用して両方の送信者と受信者にメールを送信

<?php 
$msg = ""; 

if (isset($_POST['submit'])) { 

    require 'phpmailer/PHPMailerAutoload.php'; 

    function sendemail($to, $from, $fromName, $body) { 
     $mail = new PHPMailer(); 
     $mail->setFrom($from, $fromName); 
     $mail->addAddress($to); 

     $mail->Subject = 'Contact Form - Email'; 
     $mail->Body = $body; 
     $mail->isHTML(false); 
     return $mail->send(); 
    } 
    function sender_mail($to, $from, $fromName, $body) { 
     $mail = new PHPMailer(); 
     $mail->setFrom($from, $fromName); 
     $mail->addAddress($to); 

     $mail->Subject = 'Copy Contact Form - Email'; 
     $mail->Body = $body . 'Thanks for registering with us'; 
     $mail->isHTML(false); 

     return $mail->send(); 
    } 
    $name = $_POST['username']; 
    $email = $_POST['email']; 
    $body = $_POST['body']; 
    sendemail('[email protected]', '[email protected]', $name, $body); 
    sender_mail('[email protected]', $email, $name, $body); 
}?> 
+0

あなたは私の解決策を試してみましたPHPMailerの別のオブジェクトを追加することによって –

+0

この宿題ですか?これは[この質問](https://stackoverflow.com/a/47632040)と同じですが、すでに回答があります。 – Synchro

答えて

0

私はいつも別の電子メールを送信するための別のメールオブジェクトを作成します。だから常に新しいメッセージを選ぶでしょう。あなたは以下のように更新することができ、別の電子メールを送信するために

:以下のようなあなたの以前のメッセージをクリアするには、2番目の電子メールの上clearAddressesを使用する

$mail2 = new PHPMailer(); 
    $mail2->setFrom($from, $fromName); 
    $mail2->addAddress($to); 

    $mail2->Subject = 'Copy Contact Form - Email'; 
    $mail2->Body = $body . 'Thanks for registering with us'; 
    $mail2->isHTML(false); 

    return $mail2->send(); 

第二オプション:

$mail->clearAddresses(); 

    $mail = new PHPMailer(); 
    $mail->setFrom($from, $fromName); 
    $mail->addAddress($to); 

    $mail->Subject = 'Copy Contact Form - Email'; 
    $mail->Body = $body . 'Thanks for registering with us'; 
    $mail->isHTML(false); 

    return $mail->send(); 
+0

@ Amit Guptaありがとうございました問題は解決されました –

+0

これはリソースの無駄です。より効率的なアプローチについては、[この回答](https://stackoverflow.com/a/47632040/333340)を参照してください。 – Synchro

+0

@シンクロあなたは正しいですが、身体と主題が両方のメールで異なる場合はどうなりますか?私たちは、同じページに異なるメッセージを持つ2つの電子メールに対して$ mail-> Bodyを繰り返すことはできますか? –

関連する問題