2016-11-30 27 views
1

以下のコードを使用して、phpmailerを使用しているmysqlデータベースのすべてのユーザーに電子メールを送信しています。私の問題は..メールはすべての受信者には送信されませんが、メールは1人または2人の受信者に送信されます。コードに問題はありますか?ありがとうphpmailerを使用してメールを送信

<?php 

     require_once('phpmailer/class.phpmailer.php'); 

    error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_STRICT); 
     $host="mysql.hostinger.in"; // Host name 
     $username="u831209167_user"; // Mysql username 
     $password="###"; // Mysql password 
     $db_name="u831209167_name"; // Database name 

     // Connect to server and select databse. 
     $con=mysql_connect($host,$username,$password) or die("Can't connect to database!"); 
    mysql_select_db("u831209167_name"); 

    $str="SELECT email FROM `notification` "; 
     $res=mysql_query($str,$con); 
     while($row=mysql_fetch_array($res)) 
     { 

     $mail = new PHPMailer(); 
     $mail->CharSet = "utf-8"; 

     $mail->SMTPAuth = true; 
     $mail->Username = "###@gmail.com"; 
     $mail->Password = "######"; 
     $mail->SMTPSecure = "ssl"; 
     $mail->Host = "smtp.gmail.com"; 
     $mail->Port = "465"; 

     $mail->setFrom('#####@gmail.com', 'example'); 


     $mail->AddAddress($row[email]); 

     $mail->Subject = '54450065'; 
     $mail->IsHTML(true); 

    $hl = <<<EOL 
    <h1>Welcome</h1> 


    <p>Your username is {$row[email]} .</p> 
    EOL; 

     $mail->Body = ($hl); 






     if($mail->Send()) 
     { 
      echo "Message was Successfully Send :)"; 
     } 
     else 
     { 
      echo "Mail Error - >".$mail->ErrorInfo; 
     } 
     } 
    ?> 
+0

[phpメーラの問題](http://stackoverflow.com/questions/6248853/problem-with-php-mailer) –

+1

は、廃止された拡張機能を処理する必要があります。どうして '$ mail = new PHPMailer(); 'ループの内部? – devpro

+0

「メールエラー」にはどのようなエラーが発生していますか? 'AddAddress'と' $ mail-> Body =($ hl);を確認してください。 – devpro

答えて

0

送信先の電子メールアドレスごとにAddAddress関数を1回呼び出す必要があります。この関数には、recipient_email_addressとrecipient_nameという2つの引数しかありません。受信者名はオプションであり、存在しない場合は使用されません。

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

受信者を格納してからforループを使用すると、配列を使用できます。私はそれが助けて欲しい

関連する問題