我已经建立了发送电子邮件的联系表格。关于发送到的帐户,我有点麻烦。我希望将电子邮件从“ [email protected]”发送到“ Contact_Email”。现在,电子邮件将从“ Contact_Email”发送到“ [email protected]”。
我的views.py看起来像这样:
def contact(request):
Contact_Form = ContactForm
if request.method == 'POST':
form = Contact_Form(data=request.POST)
if form.is_valid():
contact_name = request.POST.get('contact_name')
contact_email = request.POST.get('contact_email')
contact_content = request.POST.get('content')
template = get_template('users/contact_form.txt')
context = {
'contact_name' : contact_name,
'contact_email' : contact_email,
'contact_content' : contact_content,
}
content = template.render(context)
email = EmailMessage(
"New contact form email",
content,
"Creative web" + '',
['[email protected]'],
headers = { 'Reply To': contact_email }
)
email.send()
return render(request, 'users/contact.html', {'form':Contact_Form })
而且我的setting.py看起来像:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '[email protected]'
EMAIL_HOST_PASSWORD = '*******'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
如果查看参数的顺序并将其从位置转换为关键字,则当前具有:
email = EmailMessage(
subject="New contact form email",
body=content,
from_email="Creative web" + '',
to=['[email protected]'],
headers = { 'Reply To': contact_email }
)
我认为这里有几个问题。我认为您可能打算这样做:
from_email='"Creative web" <[email protected]>'
但是由于您没有得到,它弄乱了位置参数的顺序。
收件人应为to=contact_email
另一个问题是我认为您误解了“答复”标题。那就是谁,当收件人点击回复按钮时,电子邮件将被发送回去。这不是您要向其发送电子邮件的人。