отправка двух писем phpmailer

Тема в разделе "Как сделать...", создана пользователем gamera, 22 май 2015.

  1. gamera

    gamera Постоялец

    Регистр.:
    15 мар 2010
    Сообщения:
    118
    Симпатии:
    2
    Всем привет, подскажите пожалуйста, как отправить два письма сразу через phpmailer, если делаю вот так, то уходит только последний код (mess2)
    Код:
            if($sendemail == 'No') show_form();
            $mess = '';
            $mess2 = '';
           
       
    $mess .= '<b>Name*: </b>'.$_POST['input_name'][0].'<br />';
    $mess .= '<b>Surname*: </b>'.$_POST['input_name'][1].'<br />';
    $mess .= '<b>Phone*: </b>'.$_POST['input_name'][2].'<br />';
    $mess .= '<b>Your E-mail*: </b>'.$_POST['input_name'][3].'<br />';
    $mess .= '<b>Country*: </b>'.$_POST['input_name'][4].'<br />';
    
    $mess2 .= '<b>Name*: </b>'.$_POST['input_name'][0].'<br />';
    $mess2 .= '<b>Surname*: </b>'.$_POST['input_name'][1].'<br />';
    $mess2 .= '<b>Phone*: </b>'.$_POST['input_name'][2].'<br />';
    $mess2 .= '<b>Your E-mail*: </b>'.$_POST['input_name'][3].'<br />';
    $mess2 .= '<b>Country*: </b>'.$_POST['input_name'][4].'<br />';
    
            require 'class.phpmailer.php';
    
            $mail = new PHPMailer();
            $mail->From = 'student@vidusskola.com';      // от кого email
            $mail->FromName = 'письмо 1';   // от кого имя
            $mail->CharSet = "utf-8";
            $mail->AddAddress('mail@mail.com', 'mail@mail.com'); // кому - адрес, Имя
            $mail->IsHTML(true);        // выставляем формат письма HTML
            $mail->Subject = 'письмо 1';  // тема письма
            $mail->Body = $mess;
           
        
           
            $mail = new PHPMailer();
            $mail->From = 'student@vidusskola.com';      // от кого email
            $mail->FromName = 'письмо 2';   // от кого имя
            $mail->CharSet = "utf-8";
           
            $mail->AddAddress('mail2@mail2.com', 'mail2@mail2.com'); // кому - адрес, Имя
    
    
            $mail->IsHTML(true);        // выставляем формат письма HTML
            $mail->Subject = 'письмо 2';  // тема письма
            $mail->Body = $mess2;
    
    исходный код вот:
    Код:
            $mess = '';
           
       
    $mess .= '<b>Name*: </b>'.$_POST['input_name'][0].'<br />';
    $mess .= '<b>Surname*: </b>'.$_POST['input_name'][1].'<br />';
    $mess .= '<b>Phone*: </b>'.$_POST['input_name'][2].'<br />';
    $mess .= '<b>Your E-mail*: </b>'.$_POST['input_name'][3].'<br />';
    $mess .= '<b>Country*: </b>'.$_POST['input_name'][4].'<br />';
    
            require 'class.phpmailer.php';
    
            $mail = new PHPMailer();
            $mail->From = 'student@vidusskola.com';      // от кого email
            $mail->FromName = 'письмо 1';   // от кого имя
            $mail->CharSet = "utf-8";
            $mail->AddAddress('mail@mail.com', 'mail@mail.com'); // кому - адрес, Имя
            $mail->IsHTML(true);        // выставляем формат письма HTML
            $mail->Subject = 'письмо 1';  // тема письма
            $mail->Body = $mess;
     
  2. ZiX

    ZiX Коддинг, Парсинг

    Moderator
    Регистр.:
    9 июл 2011
    Сообщения:
    1.387
    Симпатии:
    574
    вы не зыбыли $mail->Send()?
     
    Nei и Шумадан нравится это.
  3. Nei

    Nei Nosce te ipsum

    Регистр.:
    5 сен 2009
    Сообщения:
    608
    Симпатии:
    478
    Вообще странно, что даже одно письмо уходит, не то что два.
     
  4. ZiX

    ZiX Коддинг, Парсинг

    Moderator
    Регистр.:
    9 июл 2011
    Сообщения:
    1.387
    Симпатии:
    574
    Может автор ошибся... ждём ответа, но всё вроде ок, кроме send()
     
  5. gamera

    gamera Постоялец

    Регистр.:
    15 мар 2010
    Сообщения:
    118
    Симпатии:
    2
    Вот полный код страницы
    Код:
    <?
    error_reporting(0);
    function show_form()
    {
    ?>
    <form action="" method=post>
    <div align="center">
    <table cellspacing="1" cellpadding="2" bgcolor="#1F2760">
    <tr bgcolor="#B0ADC3">
      <td>
         <b>Name</b>
      </td>
    </tr>
    <tr bgcolor="#ffffff">
      <td><input type="text" name="input_name[0]" size="39" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][0])), 0, 500);?>" style="border: #000 1px solid; background-color: #fff;">
    <input type="hidden" name="check[]" value="2"></b>
      </td>
    </tr>
    <tr bgcolor="#B0ADC3">
      <td>
         <b>Surname</b>
      </td>
    </tr>
    <tr bgcolor="#ffffff">
      <td><input type="text" name="input_name[1]" size="39" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][1])), 0, 500);?>" style="border: #000 1px solid; background-color: #fff;">
    <input type="hidden" name="check[]" value="2"></b>
      </td>
    </tr>
    <tr bgcolor="#B0ADC3">
      <td>
         <b>Email</b>
      </td>
    </tr>
    <tr bgcolor="#ffffff">
      <td><input type="text" name="input_name[2]" size="39" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][2])), 0, 500);?>" style="border: #000 1px solid; background-color: #fff;">
    <input type="hidden" name="check[]" value="2"></b>
      </td>
    </tr>
    <tr bgcolor="#B0ADC3">
      <td>
         <b>Contry</b>
      </td>
    </tr>
    <tr bgcolor="#ffffff">
      <td><input type="text" name="input_name[3]" size="39" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][3])), 0, 500);?>" style="border: #000 1px solid; background-color: #fff;">
    <input type="hidden" name="check[]" value="2"></b>
      </td>
    </tr>
    <tr>
      <td bgcolor="#1F2760">
       <table width="100%">
        <tr><td align="left">
        </td><td align="right"><input type="submit" value="Отправить" style="background-color:#B0ADC3;border: #000 1px solid;" name="submit">
        </td></tr>
       </table>
      </td>
    </tr>
    </table>
    </div>
    </form>
    <?
    }
    function complete_mail() {
    
    
            $empty_input[] = 'Name';
            $empty_input[] = 'Surname';
            $empty_input[] = 'Email';
            $empty_input[] = 'Contry';
            for ($i=0; $i<count($_POST['input_name']); $i++) {
                  $_POST['input_name'][$i] = substr(htmlspecialchars(trim($_POST['input_name'][$i])), 0, 100000);
                  if(substr(htmlspecialchars(trim($_POST['check'][$i])), 0, 1) == 1) {
                     if(empty($_POST['input_name'][$i])) {
                             $sendemail = 'No';
                             echo '<br /><b>Необходимо заполнить поле '.$empty_input[$i].'!</b>';
    
                     }
                  }
            }
            if($sendemail == 'No') show_form();
            $mess = '';
    $mess .= '<b>Name: </b>'.$_POST['input_name'][0].'<br />';
    $mess .= '<b>Surname: </b>'.$_POST['input_name'][1].'<br />';
    $mess .= '<b>Email: </b>'.$_POST['input_name'][2].'<br />';
    $mess .= '<b>Contry: </b>'.$_POST['input_name'][3].'<br />';
    
            require 'class.phpmailer.php';
    
            $mail = new PHPMailer();
            $mail->From = 'from@mail.com';      // от кого email
            $mail->FromName = 'from@mail.com';   // от кого имя
            $mail->AddAddress('Mail1@mail.com', 'Mail1@mail.com'); // кому - адрес, Имя
            $mail->IsHTML(true);        // выставляем формат письма HTML
            $mail->Subject = 'mail titel';  // тема письма
            $mail->Body = $mess;
    
           
    
            if($sendemail != 'No'){
                  // отправляем наше письмо
                  if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
                  echo 'Спасибо! Ваше письмо отправлено.';
            }
    }
    if (!empty($_POST['submit'])) complete_mail();
    else show_form();
    ?>
     
  6. ZiX

    ZiX Коддинг, Парсинг

    Moderator
    Регистр.:
    9 июл 2011
    Сообщения:
    1.387
    Симпатии:
    574
    Тут 1 письмо вроде.
     
  7. gamera

    gamera Постоялец

    Регистр.:
    15 мар 2010
    Сообщения:
    118
    Симпатии:
    2
    да, вот я испрашиваю, как оправить два письма сразу
     
  8. ZiX

    ZiX Коддинг, Парсинг

    Moderator
    Регистр.:
    9 июл 2011
    Сообщения:
    1.387
    Симпатии:
    574
    Собирайте в 2 объекта

    $mail = new PHPMailer();
    $mail->
    ............
    $mail->send()

    $mail_two = new PHPMailer();
    $mail_two->
    .....................
    $mail_two->send()
     
  9. gamera

    gamera Постоялец

    Регистр.:
    15 мар 2010
    Сообщения:
    118
    Симпатии:
    2
    Вот так?

    Код:
    <?
    error_reporting(0);
    function show_form()
    {
    ?>
    <form action="" method=post>
    <div align="center">
    <table cellspacing="1" cellpadding="2" bgcolor="#1F2760">
    <tr bgcolor="#B0ADC3">
      <td>
         <b>Name</b>
      </td>
    </tr>
    <tr bgcolor="#ffffff">
      <td><input type="text" name="input_name[0]" size="39" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][0])), 0, 500);?>" style="border: #000 1px solid; background-color: #fff;">
    <input type="hidden" name="check[]" value="2"></b>
      </td>
    </tr>
    <tr bgcolor="#B0ADC3">
      <td>
         <b>Surname</b>
      </td>
    </tr>
    <tr bgcolor="#ffffff">
      <td><input type="text" name="input_name[1]" size="39" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][1])), 0, 500);?>" style="border: #000 1px solid; background-color: #fff;">
    <input type="hidden" name="check[]" value="2"></b>
      </td>
    </tr>
    <tr bgcolor="#B0ADC3">
      <td>
         <b>Email</b>
      </td>
    </tr>
    <tr bgcolor="#ffffff">
      <td><input type="text" name="input_name[2]" size="39" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][2])), 0, 500);?>" style="border: #000 1px solid; background-color: #fff;">
    <input type="hidden" name="check[]" value="2"></b>
      </td>
    </tr>
    <tr bgcolor="#B0ADC3">
      <td>
         <b>Contry</b>
      </td>
    </tr>
    <tr bgcolor="#ffffff">
      <td><input type="text" name="input_name[3]" size="39" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][3])), 0, 500);?>" style="border: #000 1px solid; background-color: #fff;">
    <input type="hidden" name="check[]" value="2"></b>
      </td>
    </tr>
    <tr>
      <td bgcolor="#1F2760">
       <table width="100%">
        <tr><td align="left">
        </td><td align="right"><input type="submit" value="Отправить" style="background-color:#B0ADC3;border: #000 1px solid;" name="submit">
        </td></tr>
       </table>
      </td>
    </tr>
    </table>
    </div>
    </form>
    <?
    }
    function complete_mail() {
    
    
            $empty_input[] = 'Name';
            $empty_input[] = 'Surname';
            $empty_input[] = 'Email';
            $empty_input[] = 'Contry';
            for ($i=0; $i<count($_POST['input_name']); $i++) {
                  $_POST['input_name'][$i] = substr(htmlspecialchars(trim($_POST['input_name'][$i])), 0, 100000);
                  if(substr(htmlspecialchars(trim($_POST['check'][$i])), 0, 1) == 1) {
                     if(empty($_POST['input_name'][$i])) {
                             $sendemail = 'No';
                             echo '<br /><b>Необходимо заполнить поле '.$empty_input[$i].'!</b>';
    
                     }
                  }
            }
            if($sendemail == 'No') show_form();
            $mess = '';
            $mess2 = '';
    $mess .= '<b>Name: </b>'.$_POST['input_name'][0].'<br />';
    $mess .= '<b>Surname: </b>'.$_POST['input_name'][1].'<br />';
    $mess .= '<b>Email: </b>'.$_POST['input_name'][2].'<br />';
    $mess .= '<b>Contry: </b>'.$_POST['input_name'][3].'<br />';
    
    $mess2 .= '<b>Name: </b>'.$_POST['input_name'][0].'<br />';
    $mess2 .= '<b>Surname: </b>'.$_POST['input_name'][1].'<br />';
    $mess2 .= '<b>Email: </b>'.$_POST['input_name'][2].'<br />';
    $mess2 .= '<b>Contry: </b>'.$_POST['input_name'][3].'<br />';
    
            require 'class.phpmailer.php';
    
            $mail = new PHPMailer();
            $mail->From = 'from@mail.com';      // от кого email
            $mail->FromName = 'from@mail.com';   // от кого имя
            $mail->AddAddress('Mail1@mail.com', 'Mail1@mail.com'); // кому - адрес, Имя
            $mail->IsHTML(true);        // выставляем формат письма HTML
            $mail->Subject = 'mail titel';  // тема письма
            $mail->Body = $mess;
    
         
    
            if($sendemail != 'No'){
                  // отправляем наше письмо
                  if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
                  echo 'Спасибо! Ваше письмо отправлено.';
            }
           
            ---------------------------------------
           
                    $mail_two = new PHPMailer();
            $mail_two->From = 'from2@mail.com';      // от кого email
            $mail_two->FromName = 'from2@mail.com';   // от кого имя
            $mail_two->AddAddress('Mail2@mail.com', 'Mail2@mail.com'); // кому - адрес, Имя
            $mail_two->IsHTML(true);        // выставляем формат письма HTML
            $mail_two->Subject = 'mail titel2';  // тема письма
            $mail_two->Body = $mess2;
    
         
    
            if($sendemail != 'No'){
                  // отправляем наше письмо
                  if (!$mail_two->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
                  echo 'Спасибо! Ваше письмо отправлено.';
            }
    }
    if (!empty($_POST['submit'])) complete_mail();
    else show_form();
    ?>
     
  10. ZiX

    ZiX Коддинг, Парсинг

    Moderator
    Регистр.:
    9 июл 2011
    Сообщения:
    1.387
    Симпатии:
    574
    Да, верно так.