Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止在发送电子邮件时重复php mysql_Php_Sql_Loops_For Loop_Phpmailer - Fatal编程技术网

防止在发送电子邮件时重复php mysql

防止在发送电子邮件时重复php mysql,php,sql,loops,for-loop,phpmailer,Php,Sql,Loops,For Loop,Phpmailer,我有一个这样的案子 我想运行localhost:88/run_email.php,并使用phpmailer将数据从每一行发送到该行中提到的电子邮件地址 id | tools | model | sn | expiration_date | user_email | desc | date_modified ----------------------------------------------------------------------------- 12 | a1 | b | c |

我有一个这样的案子

我想运行localhost:88/run_email.php,并使用phpmailer将数据从每一行发送到该行中提到的电子邮件地址

id | tools | model | sn | expiration_date | user_email | desc | date_modified

-----------------------------------------------------------------------------
12 | a1 | b | c | 2018-04-23 | email_1st@yahoo.com | status | 2018-04-25 17:53:48

22 | b2 | f | r | 2018-04-24 | email_2nd@gmail.com | contact221 | 2018-04-25 17:53:50

32 | d3 | e | lll | 2018-04-24 | email_3rd@gmail.com | 12 | 2018-04-25 17:53:52

42 | f4 | l | h | 2018-04-24 | email_4th@gmail.com | \N | 2018-04-25 17:53:56

52 | 9JJ5 | QW | NA | 2018-04-25 | email_5th@company.com | \N | 2018-04-25 17:53:58

例如,如果我发送到电子邮件_1st@yahoo.com

它将收到id=12 | tools=a1 | model=b | sn=c | expiration|u date=2018-04-23

我当前的代码-

    <?php
    require_once "vendor/autoload.php";
    require("vendor/phpmailer/phpmailer/src/PHPMailer.php");
    require("vendor/phpmailer/phpmailer/src/SMTP.php");

    //PHPMailer Object
    $mail = new PHPMailer\PHPMailer\PHPMailer();

    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = 'ssl://smtp.googlemail.com';  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = 'email@email.com';                 // SMTP username
    $mail->Password = 'pwd';  
    $mail->Port = 465;                         // SMTP password
    $mail->SMTPSecure = 'tls';   

    $DB_host     = 'localhost';
    $DB_user     = 'root';
    $DB_password = '';
    $DB_name     = 'sent_email';

    $link = mysql_connect($DB_host, $DB_user, $DB_password);
    if (!$link) {
        die ('Failed to connect: ' . mysql_error());
    }

    $db_selected = mysql_select_db($DB_name, $link);
    if (!$db_selected) {
        die ("Db errorr: " . mysql_error());
    }
        // sending query
        $result = mysql_query("SELECT id,tools,model,sn,expiration_date,user_email FROM `table` ");
        if (!$result) {
            die("Query to show fields from table failed");
        }
        $num_rows = mysql_num_rows($result);


    $mail->From = "email@email.com";//from dari Username
    $mail->FromName = "For Looping";
    $mail->addReplyTo("no-N-reply@email.com", "...loop ");
    $mail->isHTML(true);
    $mail->Subject = "loop";


                for($i=1;$i<=$num_rows;$i++){
                    $row = mysql_fetch_array($result);
                    $line[$i][5] = $row['user_email'];
                    echo "No. ".$i."is ".$line[$i][5]."<br>";
                                    $mail->addAddress($line[$i][5]);

                                    $mail->Body = "<i>".$line[$i][5]."</i>";


                                    if(!$mail->send()) 
                                    {
                                        echo "Mailer Error: " . $mail->ErrorInfo;
                                    } 
                                    else 
                                    {
                                        echo "Message has been sent successfully <br>";
                                    }
                }
问题是如何防止这些情况,如何检查我的逻辑循环,我试图通过使用echo显示结果来调试它


问候。

我知道了,在这个街区

else 
{
echo "Message has been sent successfully <br>";
}
else
{
echo“消息已成功发送
”; }
添加命令$mail->ClearAddresses()$邮件->ClearAllRecipients(); 像

else
{
echo“消息已成功发送
”; $mail->ClearAddresses(); $mail->ClearAllRecipients(); }
如果你还有什么问题,我们可以讨论

else 
{
echo "Message has been sent successfully <br>";
}
else 
{
echo "Message has been sent successfully <br>";
$mail->ClearAddresses(); 
$mail->ClearAllRecipients();
}