У меня есть несколько экземпляров в моем проекте, где я пытаюсь отправить электронное письмо в представлении 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.