Бэкэнд электронной почты Django (продолжает отправлять электронную почту от неправильного «отправителя»)

У меня есть несколько случаев в моем проекте, когда я пытаюсь отправить электронное письмо в представлении Django.

Я хочу иметь возможность жестко запрограммировать отправителя электронной почты в представлении. Однако, когда я пытаюсь это сделать, он продолжает отправлять электронные письма из учетной записи по умолчанию, указанной в моем файле настроек.

Вот пример:

        if testform.is_valid():
            beta=testform.save()
            subject="Hi Beta Tester"  
            sender="correct@email.com"

            recipient=[testform.cleaned_data['email']]

            text=loader.get_template('registration/beta_email.txt')
            html=loader.get_template('registration/beta_email.html')

            site_name='mysite'
            d=Context({'site_name':site_name})
            text_content=text.render(d)
            html_content=html.render(d)
                #This sends two mail versions, plain text and html
            msg=EmailMultiAlternatives(subject, text_content, sender, recipient)
            msg.attach_alternative(html_content, "text/html")
            msg.send()

            return HttpResponseRedirect('/splash/')

Я думал, что могу отправить сюда явно указать аргумент отправителя. И, тем не менее, когда я тестирую его, электронное письмо отправляется с адреса, указанного в моем файле настроек, настроенного следующим образом:

       EMAIL_USE_TLS=True

       EMAIL_HOST='smtp.gmail.com'

       EMAIL_HOST_USER='wrong@email.com'

       EMAIL_HOST_PASSWORD='private'

       DEFAULT_FROM_EMAIL='wrong@email.com'

Мне просто нужно удалить константу DEFAULT_FROM_EMAIL, чтобы она заработала? Я пробовал это делать, и вроде работает, но я запутался. В документации Django предлагается, чтобы установка отправителя в представлении переопределяла значение DEFAULT.

6
задан Ben 9 May 2011 в 19:26
поделиться