Отправить два разных письма с приложением с phpmailer - PullRequest
0 голосов
/ 09 мая 2019

У меня проблема, и я не могу понять, где это. У меня есть форма, которая будет отправлять два разных письма:

  1. простое письмо с благодарностью, которое необходимо доставить ТОЛЬКО тому, кто составил форму, с приложением
  2. второе письмо, которое должно быть доставлено ТОЛЬКО владельцу сайта, которое ответит, с тем же приложением

Моя проблема в том, что с phpmailer клиент, скомпилировавший форму, получает обе почты. И, конечно, ему не нужно видеть второе письмо.

вот мой код:

$to = $email; 
$subject = "Princype - la tua configurazione"; 
$message =
"Buongiorno $nome, <br>
in allegato potrai trovare le tua configurazione per il tuo $taglio $style.
<br>
A breve entrerai in contatto con un nostro incaricato breve per confermare o fissare un appuntamento.
<br>
Cordialmente,
<br><br>";




// email stuff 2
$to2 = "info@info.com"; 
$subject2 = "Princype - richiesta info per $taglio $style - $id_planimetria"; 
$message2 =
"Una nuova richiesta per l'appartamento $taglio $style - $id_planimetria,
<br>
<br>
Nome: $nome <br>
Cognome: $cognome <br>
email: $email <br>
Telefono: $telefono <br>";



//first email
try {

    $mail->isSMTP();                                                    // Set mailer to use SMTP
    $mail->Host       = 'smtps.XXX.com';                               // Specify main and backup SMTP servers
    $mail->SMTPAuth   = true;                                           // Enable SMTP authentication
    $mail->Username   = 'info@info.com';                 // SMTP username
    $mail->Password   = 'XXXXXXX';                             // SMTP password
    $mail->SMTPSecure = 'ssl';                                          // Enable TLS encryption, `ssl` also accepted
    $mail->Port       = 000;                                            // TCP port to connect to

    //Recipients
    $mail->setFrom('info@info.com', 'info service');
    $mail->addAddress($to, sprintf('%s %s', $nome, $cognome));           // Add a recipient

    $mail->addReplyTo('info@info.com', 'info service');


    // Attachments
                  // Add attachments
    $mail->addAttachment($filepath, $filename);                            // Optional name

    // Content
    $mail->isHTML(true);                                                   // Set email format to HTML
    $mail->Subject = $subject;
    $mail->Body    = $message;
    $mail->AltBody = $message;

    $mail->send();

    //second mail
    $mail->setFrom('info@info.com', 'info service');
    $mail->addAddress('info@info.com', 'info service');           // Add a recipient
    $mail->addReplyTo($to, sprintf('%s %s', $nome, $cognome));


    $mail->Subject = $subject2;
    $mail->Body    = $message2;
    $mail->AltBody = $message2;

    $mail->send();
    // echo 'Message has been sent';
} catch (Exception $e) {
    error_log( "Message could not be sent. Mailer Error: {$mail->ErrorInfo}");
}}?>

1 Ответ

0 голосов
/ 09 мая 2019

Функция addAddress добавит адрес электронной почты в уже известный список получателей.Вы должны очистить список получателей перед добавлением, если вы не хотите использовать несколько получателей, это можно сделать с помощью следующего фрагмента

$mail->clearAddresses();
...