2016-10-21 6 views
0

複数の受信者に電子メールを送信する必要がありますが、私のコードでエラーが発生しています。複数の受信者にメールを送信する必要があります。代わりに$mail->addAddress($to_id);使用の私のコードで複数の電子メールを送信するには?

<?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

あなたはちょうどそのように使用することができますループ内で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); 
     } 
    } 
関連する問題