【发布时间】:2020-11-20 17:45:19
【问题描述】:
我为我的网站的联系页面创建了以下 django 联系表。表单的问题在于,当用户填写并单击提交按钮时,它会显示成功消息,但不会发送电子邮件。我的意思是我的邮箱里没有收到消息 有人可以检查并告诉我哪里出错了。
forms.py:
from django import forms
from django.forms import ModelForm
# contact form
class ContactForm(forms.Form):
contact_name = forms.CharField(required=True )
contact_email = forms.EmailField(required=True )
title = forms.CharField(required=True)
content = forms.CharField(required=True )
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')
title = request.POST.get('title')
template = loader.get_template('website_primary_html_pages/contact_form.txt')
context = {
'contact_name' : contact_name,
'contact_email' : contact_email,
'title' : title,
'contact_content' : contact_content,
}
content = template.render(context)
email = EmailMessage(
"Hey , There are new Message from blog",
content,
"Creative web" + '',
['contact@techpediaa.com'],
headers = { 'Reply To': contact_email }
)
email.send()
return redirect('Success')
return render(request, 'website_primary_html_pages/contact_us.html', {'form':Contact_Form })
#end contact form
settings.py:
#MY EMAIL SETTING
DEFAULT_FROM_EMAIL = 'contact@techpediaa.com'
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
当用户填写所有字段时,它显示消息发送成功,但我没有收到任何消息,原因
- 我使用 namecheap 作为主机
我在 settings.py 中的新设置:
#MY EMAIL SETTING
EMAIL_BACKEND ='django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'contact.techpediaa.com'
EMAIL_USE_TLS=False
EMAIL_PORT = 587
EMAIL_HOST_USER = 'contact@techpediaa.com'
EMAIL_HOST_PASSWORD = 'mypass'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
【问题讨论】:
-
可能是垃圾邮件?
-
不,我查过了,没有消息
标签: django django-rest-framework django-views