我们使用的是django-contrib-comments中的东西和客户之间的沟通项目。员工沟通工作在内部进行,我制作了一个自定义电子邮件通知系统,每当其他人员在您的网页上发表评论时,系统都会通知您。参考user_email回复评论
现在我面临的问题是,想要回复评论的用户只会通知他自己,而不是通知他的员工。
电子邮件通知设置由两部分组成,第一部分针对发表评论的工作人员,第二部分针对回复评论的用户。
问题是如何引用已准备好留下评论的用户,我需要他的电子邮件,所以我可以将他添加到收件人列表中,以便在别人回复评论时通知他。
comment.user
和comment.user_email
事情上你提到的评论的模式,但我怎么也找不到指user_email
谁的都准备好了评语时,要回复到它的documentation,这部分解释了示范田,我可以理解
user_email - 发布评论的用户的电子邮件。
它在第一部分中是完美的,但在第二部分中它将引用正在留言的用户,这就是为什么另一个不会被通知,所以有人可以帮助我更好地理解如何参考我正在回复的user_email
,这样我就可以正常工作。
def send_comment_posted_emails(self, comment):
comment_user = comment.user
comment_user_email = comment.user_email
comment_text = comment.comment
handler_user = self.account_handler
handler_email = handler_user.email
# First part
if handler_email is not None and handler_email != comment_user.email:
current_site = Site.objects.get_current()
sub_org_url = self.get_view_url() + "#CommentsDiv"
ctx = {"sub_org_url": sub_org_url, "site_name": current_site.name, "sub_org_sn": self.serial_number,
"posted_name": user_util.get_user_full_name_or_user_name(comment_user),
"comment_text": comment_text}
subject = render_to_string("clients/emails/email_sub_org_comment_posted_subject.txt", ctx)
subject = "".join(subject.splitlines())
message = render_to_string("clients/emails/email_sub_org_comment_posted_message.html", ctx)
MailManager.send_mail_with_error_handler(subject, message, settings.DEFAULT_FROM_EMAIL,
[handler_email, comment_user_email], message_html=message)
# Second part
if handler_email is not None and handler_email == comment_user.email:
current_site = Site.objects.get_current()
sub_org_url = self.get_view_url() + "#CommentsDiv"
ctx = {"sub_org_url": sub_org_url, "site_name": current_site.name, "sub_org_sn": self.serial_number,
"posted_name": user_util.get_user_full_name_or_user_name(comment_user),
"comment_text": comment_text}
subject = render_to_string("clients/emails/reply_to_email_sub_org_comment_posted_subject.txt", ctx)
subject = "".join(subject.splitlines())
message = render_to_string("clients/emails/reply_to_email_sub_org_comment_posted_message.html", ctx)
MailManager.send_mail_with_error_handler(subject, message, settings.DEFAULT_FROM_EMAIL,
[handler_email, comment_user_email], message_html=message)