4

刚刚做了一点代码来发送基于 sql 表的时事通讯。

第一个有 70/80 订阅者的订阅者很好,现在当我移动到第二个大约有 250 个订阅者时,电子邮件的 body_message 在电子邮件中重复与邮件列表中的人数相等,在这种情况下我正在发送包含 250 个重复内容的电子邮件......

不知道代码有什么问题,我已经尽可能地把它删掉了,想知道是否有人可以看看,希望能指出问题

    <?php

$i=1;
if (isset($_POST['submit_btn'])) {
connect_newsletter();

$result = mysql_query("SELECT id, mail FROM test") or die('Could not connect. ' . mysql_error());

while ($row = mysql_fetch_array($result)) {

    $email = $row['mail'];
    $nid = $row['id'];

    $ip=$_SERVER['REMOTE_ADDR']; 

    $ref="http://www.domain.co.uk";

    $body_message ='newsletter html code';

    $y_email="noreply@domain.co.uk";
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers4=$y_email;       
    $headers .="Reply-to: $headers4\n";
    $headers .= "From: $headers4\n"; 
    $headers .= "Errors-to: $headers4\n"; 

    $subject="subject";

    mail($email,$subject,$body_message,$headers);


    echo $i." sent to ".$email; 
    echo "<br>";
    $i++;
}
}

?>
4

1 回答 1

2

查看不可能的代码,因为在循环中您可以安全地重置$bodyand的值$subject

问题可能出在其他地方。检查你的sendmail log

于 2011-06-02T11:27:26.590 回答