Django отправляет письмо на post_save с шаблонами - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь отправить электронное письмо нашему администратору, когда новые данные отправляются на наш сайт от пользователей.Мы используем Django для бэкэнда и Vue для внешнего интерфейса, хотя это, вероятно, не имеет значения.Вот код:

@receiver(post_save)
def send_update(sender, created, **kwargs):
    if created:
        data=kwargs['instance']
        try:
            if data.admin_approved == False:
                print("point 1 reached")
                name = data.submitted_by_name
                body = data.body
                content_type = str(sender).split(".")[2][:-2]
                print("point 2 reached")
                link = "https://link_to_website.com" + content_type.lower()
                subject = "New " + content_type + " submitted"
                print("point 3 reached")
                from_email = "NoReply@web_site.com"
                to_email = "my_email@address.com"
                print("pre-html point reached")
                html_message = get_template('./email/template.html')
                text_message = get_template('./email/textplate.txt')
                data = {
                        'user_name': name,
                        'submission': data.body,
                        'type': content_type,
                        'link': link,
                        'body': body
                    }
                content_text = text_message.render(data)
                content_html = html_message.render(data)
                print("ready to send email!")
                msg = EmailMultiAlternatives(subject, content_text, from_email, [to_email])
                msg.attach_alternative(content_html, "text/html")
                msg.send()
        except:
            print("Data was not submitted by an non-admin user.")

Включена попытка / исключение, чтобы данные, которые отправляются непосредственно через страницу администрирования django, не вызывали функцию электронной почты.

функция работает до тех пор, пока«точка pre-html достигнута», я предполагаю, что проблема где-то в msg и msg.send (), но я не получаю никаких функций ошибок.

Спасибо за помощь!

...