在内部发送电子邮件django

时间:2017-05-18 12:26:12

标签: django django-models django-email

目前我已经实施了自定义电子邮件通知,当您发布评论时收到的电子邮件会通知您有关已发布的评论的信息,现在事情就是系统内部会发生这种情况,所以基本上是工作人员({ {1}})正在互相交谈并通过电子邮件收到通知。

现在我遇到的问题是account_handler's在我的帖子上留下评论,例如,我们所有人都会收到一封电子邮件,并通知该帖子中有评论,但是我回复说我没有发送任何内容,所以当您回复帖子中的评论时,没有回复的电子邮件,电子邮件只朝一个方向发送,所以问题是如何解决这个问题?

在我的模型中,我使用此代码进行评论电子邮件通知设置:

account_handlers

发送电子邮件的信号:

class LeadContact(models.Model):
    # models here
    account_handler = models.ForeignKey(User, blank=True, null=True, related_name='handling_leads',
                                        on_delete=models.SET_NULL)
    # some custom function here

    def send_comment_posted_emails(self, comment):
        comment_user = comment.user
        comment_text = comment.comment
        handler_user = self.account_handler
        handler_email = handler_user.email

        if handler_email is not None and handler_email != comment_user.email:
            current_site = Site.objects.get_current()
            leads_url = self.get_view_url() + "#CommentsDiv"
            ctx = {"leads_url": leads_url, "site_name": current_site.name, "leads_sn": self.serial_number,
                   "poster_name": user_util.get_user_full_name_or_user_name(comment_user),
                   "comment_text": comment_text}
            subject = render_to_string("vinclucms_sales/email/email_sales_comment_posted_subject.txt", ctx)
            subject = "".join(subject.splitlines())
            message = render_to_string("vinclucms_sales/email/email_sales_comment_posted_message.html", ctx)

            MailManager.send_mail_with_error_handler(subject, message, settings.DEFAULT_FROM_EMAIL, [handler_email],
                                                     message_html=message)

    class Meta:
        # Meta code here

1 个答案:

答案 0 :(得分:0)

这个问题有一个明显的解决方案,在EmailMessage-Object中有一个

  

reply_to:中使用的收件人地址的列表或元组   发送电子邮件时出现“回复”标题。

我的django verison是1.8.9所以通过使用它并将其添加到我的MailManager我已经解决了问题。

自我注意:阅读文档!!!