Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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邮件发送双重内容_Php_Html_Mysql_Database_Sleep - Fatal编程技术网

php邮件发送双重内容

php邮件发送双重内容,php,html,mysql,database,sleep,Php,Html,Mysql,Database,Sleep,我正在编写一个massmail脚本,它向特定数据库中的每个电子邮件id发送一封电子邮件。 但也有一些问题 我有以下数据库: id email link 1 a@bc.com bc.com 2 b@cd.com cd.com 假设邮件内容是:“测试此脚本” 脚本将电子邮件发送到a@bc.com完美但第二次发送电子邮件,即b@cd.com内容增加了一倍 我的意思是,第二个收件人收到的电子邮件如下: 测试此脚本 测试此脚本 第三个收件人收到内容重复三次的电子邮件,第四个收

我正在编写一个massmail脚本,它向特定数据库中的每个电子邮件id发送一封电子邮件。 但也有一些问题

我有以下数据库:

id   email     link
1    a@bc.com  bc.com
2    b@cd.com  cd.com
假设邮件内容是:“测试此脚本”

脚本将电子邮件发送到a@bc.com完美但第二次发送电子邮件,即b@cd.com内容增加了一倍

我的意思是,第二个收件人收到的电子邮件如下:

测试此脚本

测试此脚本

第三个收件人收到内容重复三次的电子邮件,第四个收件人收到内容重复四次,以此类推

该脚本从数据库中的“电子邮件”字段中获取电子邮件地址并向其发送电子邮件

我的代码:

<?
  include "header.php"; 
  include "config2.php"; 

$subject="Massmail";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
mysql_connect($server, $db_user, $db_pass)
      or die ("Database CONNECT Error"); 
        $resultquery = mysql_db_query($database, "select * from $table");       
    while ($query = mysql_fetch_array($resultquery)) 
    { 
        $mailto=$query[$table_email];
        $domain=$query[$table_link];
$domain2 = str_replace(array('http://','HTTP://','Http://'), '',$domain);
$handle = fopen("http://$domain2","r") or die("Unable to open link ( $domain ). <a href='javascript:history.go(-1);'>Go back</a> and please try again  ");
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 8192);
$contents = str_replace('window.location = "/abc.html"','window.location = ""',$contents);
$contents = mb_convert_encoding($contents, "HTML-ENTITIES", "auto");
}
$i = md5(uniqid(rand(), true)) . '.' . html;
$fh = fopen("/home/host/public_html/content/$i", "w");
fwrite($fh, $contents);
fclose($fh);
$filename = '/files/$i';
$message1 .= "Testing Mail Script Version 2";
        mail($mailto, $subject, $message1, $headers, "-f" . 'noreply@domain.com');
        echo 'Mail sent to '.$mailto.'<br>'; 
        sleep($seconds);
    }
  include "footer.php";    
  ?>

非常感谢你的帮助。提前感谢

同意。听起来你的循环运行不正常?如果您不能发布完整的代码,请尝试发布一个抽象,以便我们诊断您的问题


如果你不能,我会根据你拥有的电子邮件地址的数量来研究循环,而不是一些任意的计数器。这可能会对你有所帮助。

假设这是你的桌子。id、电子邮件、链接和消息的结构如下:

id     email         message 
1    a@test.com   hello, how are you doing..
2    b@test.com   hey, dude this is me..
3    c@test.com   we are sending you this...
现在,假设您有
100条
记录。我要做的是(假设
$result
是一个mysql数组,返回所有来自
mysql
ex
SELECT*from mail…

我会尝试:

for($i=0; $i <= count($result); $i++){

     $send = mail($result['to'], $result['subject'],
                  $result['message'], $result['headers']);

     if(!$send){
       echo 'e-mail, sending has stopped';
       break;
        }
    else{
        echo 'all e-mails are sent successfully'; }
     }

for($i=0;$i在代码行:$message1.=“Testing Mail Script Version 2”;句点是一个串联,因此每次循环它时,都会另复制一次消息。

没关系,我已经修复了它。@Pirion的帖子帮助了我。我改变了

$message1 .= "Testing Mail Script Version 2";


一切都很顺利。谢谢你们这么多人帮我解决问题。

这可能是因为,您正在使用正确的循环脚本。向我们展示您的完整代码非常感谢,如果这解决了我的问题,我将尝试此操作并更新您。再次感谢=D虽然我已更新了代码,但如果有任何错误,请再次查看。没有错误…我正在测试用两个条目编辑它………第一个条目得到:测试邮件脚本版本2第二个条目得到:测试邮件脚本版本2测试邮件脚本版本2我想,你的脚本太复杂了。试试我的。好的,我会去做的。会让你知道这是否有效。谢谢到目前为止:)嗯,除了发送了几次电子邮件外,没有做任何更改。我仍然收到双倍的内容。我刚刚更新了代码,我尝试使用:echo“to:”回送内容$梅托。

主题:“$主题。“

消息:
”$信息1。“
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
”。。。。请看一看对不起,我没有回头。我希望您已经能够修复它,但是修复方法是删除$message中的句点;编辑:我从你下面的帖子中看到你确实找到了它。:)
$message1 .= "Testing Mail Script Version 2";
$message = "Testing Mail Script Version 2";