正在合并单独的电子邮件

时间:2017-09-20 16:56:54

标签: php database email mysqli

我正在尝试使用来自数据库的数据使用PHP发送电子邮件。我遇到的问题是,每个后续结果匹配都会合并电子邮件。 因此,如果我有3个具有相同匹配条件的用户,例如,是/是,则第一封电子邮件是干净的,第二封电子邮件包含第一封电子邮件和第二封电子邮件的内容,第三封邮件包含第一封,第二封包含第三封电子邮件。我不确定它为什么要组合消息,但显然希望它能够停止。 : - )

<?php
$servername = "intentionally empty";
$username = "intentionally empty";
$password = "intentionally empty";
$dbname = "intentionally empty";
$tblname = "intentionally empty";
$email_to = "";
$email_subject = "";
$email_message = "";
$email_from = "";

        $conn = mysqli_connect($servername, $username, $password, $dbname) or die("Unable to Connect to '$dbhost' - Please email support@domain.com");

    $sql = "SELECT * FROM $tblname WHERE Active='Yes' AND Reqested='Yes'";
    $result = mysqli_query ($conn, $sql);
    if (!mysqli_query($conn, $sql))
    {
        echo "Error: " . mysqli_query_error();
    }

    while($row = mysqli_fetch_array($result)){
        $first_name = $row['First'];
        $last_name = $row['Last'];
        $dob = $row['DOB'];
        $variableA = $row['VarA'];
        $variableB = $row['VarB'];
        $email_to = $row['Email'];

    $email_from = "support@domain.com"; 
    $email_subject = "Reminder: Requested information for $dob - $varA";
    $email_intro .= "Hello $first_name $last_name,\n";
    $email_intro .= "\n";
    $email_intro .= "This is your monthly request reminder that for $dob - $varA\n";
    $email_intro .= "\n";
    $email_var .= "If you have already sent your updates then you can disregard.\n";
        $email_end .= "\n";
    $email_end .= "Please let us know if you have any question.\n";
    $email_end .= "\n";
    $email_end .= "Thank you,\n";
    $email_end .= "Management.\n";

    $email_message .= "$email_intro$email_var$email_end";

// create email headers
if (@mail($email_to, $email_subject, $email_message, 'From:' . $email_from));

echo 'Email sent to: ' . $email_to. '<br>';

}

?>

2 个答案:

答案 0 :(得分:2)

您没有在循环开始时重置$email_message$email_intro个变量。添加

$email_message = $email_intro = '';

位于while()循环的顶部,每次迭代都会清除。

答案 1 :(得分:0)

成功发布电子邮件已发送邮件,您可以重新初始化或设置变量$email_message as Null的值。

相关问题