繁体   English   中英

如何获取phpmail发送给合适的用户,并同时限制某些用户的电子邮件数量? 第2部分

[英]How can I get phpmail to send to the right user and also limit the ammount of emails for certain users? Part 2

感谢Anthony的建议,我试图简化我要实现的目标的逻辑和语法,即在撰写博客时,PHP邮件会通知AUTHOR有人在评论自己以外的其他人。 当作者发表评论时,除他以外其他所有评论者都会收到一封不同的电子邮件。 当另一个用户发表评论时,如上所述,AUTHOR会收到通知,但其他发表评论的人都会收到一封电子邮件,与AUTHOR在自己的OWN博客上发表评论时发送出去的电子邮件相同,是的,我仍然是新手:

if(isset($_POST['commentBlogSubmit']) && $auth) {



        $query = "SELECT `Email` FROM `Users` WHERE `id` = '" . $prof->id . "'";
        $request = mysql_query($query,$connection) or die(mysql_error());
        $result = mysql_fetch_array($request); 

        $Email = $result['Email'];


        $to = $Email;
        $subject = "$auth->first_name $auth->last_name left you a blog comment";
        $message = "$auth->first_name $auth->last_name left you new blog comment:<br /> <br /> <a href='BlogProfile.php?id=" . $blog->id . "'>Click here to view</a><br /><br />";
            $from = "<noreply@site.com>";
        $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= "From:$from";
        mail($to, $subject, $message, $headers);

        if($blog->author != $poster->id) { 

        $query = "SELECT * FROM `BlogComments` WHERE `blogID` = '" .$blog->id. "'";
        $request = mysql_query($query,$connection);
        while($result = mysql_fetch_array($request)) { 

        $emailPoster = ($result['userID']);

            $to = $emailPoster;
            $subject = "$auth->first_name $auth->last_name Commented";
            $message = "$auth->first_name $auth->last_name commented on the blog $blog->title :<br /> <br /> <a href='BlogProfile.php?id=" . $blog->id . "'>Click here to view</a><br /><br />";

            $from = "<noprely@site.com>";
            $headers  = 'MIME-Version: 1.0' . "\r\n";
            $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
            $headers .= "From:$from";
            mail($to, $subject, $message, $headers);




        }

根据您发布的内容,我将首先确认第二个查询正在返回结果。 第二,多少。 无需通过电子邮件发送给用户,而是将其输出到屏幕上。 喜欢:

  while($result = mysql_fetch_array($request)) {
       echo $result['userID']."\n";
  }

也许添加print_r($result)来确认键是正确的,等等。

其次,如果循环正确并且值正确,那么我就离开了思考问题是它没有遵循您想要的逻辑,这是何时发送电子邮件以及向谁发送电子邮件的条件。

坦白说,当您将其编写出来时,似乎有些混乱。 也许用伪代码编写它可能会帮助您了解丢失的部分在哪里。

如果是我,我会根据发布者来制定规则。 如果有帖子,请给除发帖人以外的所有人发送电子邮件。 这样,如果是博客作者,他不会在自己的帖子中收到电子邮件,但其他人都会收到。 如果不是博客作者,他会收到电子邮件,因为他的用户名与评论者的用户名不匹配。

这样做可以消除很多基于谁的规则,而只是一条简单的规则。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM