[英]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.