2017-03-07 2 views
0

複数のメールを複数のアドレスに送信しようとしています。以下のコードは複数のTOアドレスを含む1つの電子メールでそれを送信します。これは、電子メールの全員がお互いの電子メールアドレスを見ることができるため、問題になります。Sendmailは複数のアドレスに個別のメールを送信します

個別のメールを送信する方法はありますか?

<?php 

$smtp  = 'xxx.com'; 
$port  = 25; 
$secure  = 'tls'; 

$username = '[email protected]'; 
$pass  = ''; 
$from  = '[email protected]'; 
$to   = '[email protected]'; 
$to1  = ''; 
$subject = 'Test Email'; 
$content = $mail_content; 

require_once("include/class.phpmailer.php"); 
$mail=new PHPMailer(true); 
$mail->IsSMTP(); 
try{ 
    $mail->Host   = $smtp; 
    $mail->SMTPAuth  = true; 
    $mail->Port   = $port; 
    $mail->SMTPSecure = $secure; 
    $mail->Username  = $username; 
    $mail->Password  = $pass; 
    $mail->SetFrom($from); 

    if (isset($email) && $email) { 
     $mail->AddAddress($email); 
    } 
    else { 
     while($row = mysqli_fetch_object($result)) { 
      $mail->AddAddress($row->email); 
      echo $row->email."<br>"; 
     } 
    } 

    $mail->Subject  = $subject; 
    $mail->MsgHTML($content); 
    $mail->Send(); 

    if (isset($email) && $email) { 
?> 
     <script>location.href="<?php echo '../index.php' . $_REQUEST['redirect']; ?>";</script> 

<?php 
    } 
} 
catch (phpmailerException $e){ 
    echo $e->errorMessage(); 
} 
catch (Exception $e){ 
    echo $e->getMessage(); 
} 

?> 
+1

ループの繰り返しごとにアドレスを追加するのではなく、すべてのメールアドレスをループしてループの繰り返しごとにメールを送信できます。 –

+0

どうすればいいですか?ありがとう。 – user3414301

+0

下の私の答えを参照してください –

答えて

0

電子メールをBCCで送信します。

は、例えばここを見て:

PHP Email sending BCC

+0

これは前にこれを使用しましたが、電子メールがスパムのように見えるのでプロのように見えませんでした。 – user3414301

0

あなたは電子メールアドレスのすべてをチェックしてから$mail->AddAddress()に電子メールアドレスを割り当てたループを持っています。

あなたはこの同じループの中でやらなければならないことは、私は私のローカルシステム上でこれをテストしていないが、これは送信するための一つの方法であるだけでなく、ループの各反復で$mail->Send();

//PHPmailer object 
$mail=new PHPMailer(true); 

//set up 
$mail->IsSMTP(); 
$mail->Host   = $smtp; 
$mail->SMTPAuth  = true; 
$mail->Port   = $port; 
$mail->SMTPSecure = $secure; 
$mail->Username  = $username; 
$mail->Password  = $pass; 
$mail->SetFrom($from); 
$mail->Subject  = $subject; 
$mail->MsgHTML($content); 

//add address 
if (isset($email) && $email) { 
    $mail->AddAddress($email); 
} 
else { 
    //loop through the DB results 
    while($row = mysqli_fetch_object($result)) { 

     //you already have this 
     $mail->AddAddress($row->email); 
     echo $row->email."<br>"; 

     //now send it here as well 
     $mail->Send(); 

     //Do more stuff here 
    } 
} 

に電子メールを送信しています1つのメールを送信し、bccを使用する代わりに、各アドレスごとに個別にメールを送信します。

関連する問題