2016-10-21 4 views
0

Мне нужно отправить электронное письмо нескольким получателям, но я получаю ошибку в своем коде. Мне нужно отправить электронное письмо нескольким получателям.Как отправить несколько писем в мой код?

<?php  
require 'phpmailer/PHPMailerAutoload.php'; 

if(isset($_POST['send'])) 
{ 
    $email = $_POST['email'];      
    $password = $_POST['password']; 
    $to_id = $_POST['toid']; 
    $message = $_POST['message']; 
    $subject = $_POST['subject']; 

    $mail = new PHPMailer; 

    $mail->isSMTP(); 

    $mail->Host = 'mail.domain.com'; 

    $mail->Port = 587; 

    $mail->SMTPSecure = 'tls'; 

    $mail->SMTPAuth = true; 

    $mail->Username = $email; 

    $mail->Password = $password; 

    $mail->setFrom('[email protected]', 'name'); 

    $mail->addReplyTo('[email protected]', 'name'); 

    $mail->addAddress($to_id); 

    $mail->Subject = $subject; 

    $mail->msgHTML($message); 

    if(!$mail->send()) { 
    $error = "Mailer Error: " . $mail->ErrorInfo; 
    ?> 
    <script>alert('<?php echo $error ?>');</script> 
    <?php 
    } 
    else { 
    echo "Message Sent Successfully"; 
    } 
} 
?> 
+0

где у вас есть список нескольких получателей? –

+0

Также сообщите нам, что такое сообщение об ошибке. –

+0

У вас есть разделенные запятыми письма в '$ _POST ['email']' или '$ _POST ['toid']'? – devpro

ответ

0

Вы можете использовать просто так:

$mail->AddAddress('[email protected]', 'First Email'); 
$mail->AddAddress('[email protected]', 'Second Email'); 

Или если у вас есть электронная почта в массиве $_POST['toid'], чем вы можете используйте AddAddress() в петле.

2

Попробуйте этот код.

require 'PHPMailer/PHPMailerAutoload.php'; 
function SendPHPMail($to, $from, $subject, $htmlContent, $attachments = array()) 
    { 
     $mail = new PHPMailer; 
     $mail->isSMTP(); 
     $mail->Host = 'smtp.gmail.com'; 
     $mail->SMTPAuth = true; 
     $mail->Username = '[email protected]'; 
     $mail->Password = 'password'; 
     $mail->SMTPSecure = 'tls'; 
     $mail->Port = 25; 
     $mail->SMTPOptions = array(
       'ssl' => array(
         'verify_peer' => false, 
         'verify_peer_name' => true, 
         'allow_self_signed' => true 
       ) 
     ); 

     $mail->From = '[email protected]'; //sender emailAddress 
     $mail->FromName = 'name'; //sender name 

     //Here $to has multiple emailAddress 
     //$to = array('[email protected]','[email protected]','[email protected]'); 
     if(!empty($to)){ 
      foreach($to as $emailAddress){ 
       $mail->addAddress($emailAddress); 
      } 
     } else{ 
      throw new \Exception('No emails found!'); 
     } 

     if(!empty($attachments)){ 
      foreach($attachments as $attachment){ 
       $mail->addAttachment($attachment); 
      } 
     } 

     //$mail->addCC(); 

     $mail->WordWrap = 50; 
     $mail->isHTML(true); 

     $mail->Subject = $subject; 
     $mail->Body = $htmlContent; 

     if(!$mail->send()) { 
      throw new \Exception($mail->ErrorInfo); 
     } 
    } 
Смежные вопросы