我正在尝试为我的投资组合建立一个与我联系的表单,但是我遇到了问题。
Traceback File "..\env\lib\site-packages\django\core\handlers\exception.py", line 34, in inner SMTPSenderRefused at / (530, b'5.5.1 Authentication Required. Learn more at\n5.5.1 https://support.google.com/mail/?p=WantAuthError c17sm3159820ild.31 -gsmtp', '[email protected]')
views.py
def index_view(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
# Send email goes here
sender_name = form.cleaned_data['name']
sender_email = form.cleaned_data['email']
message = "{0} has sent you a new message:\n\n{1}".format(sender_name, form.cleaned_data['message'])
send_mail('New Enquiry', message, sender_email,
['[email protected]'])
return HttpResponse("Thanks for contacting, We will be in touch soon!")
else:
form = ContactForm()
return render(request, 'index.html', {'form': form })
Settings.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST_USER = os.environ.get('EMAIL_USER')
EMAIL_HOST_PASSWORD = os.environ.get('EMAIL_PWD')
Forms.py
from django import forms
class ContactForm(forms.Form):
name = forms.CharField(max_length=100)
email = forms.EmailField()
subject = forms.CharField(max_length=100)
message = forms.CharField(widget=forms.Textarea)
我进入了Gmail的设置,以查看安全设置中是否有某些内容阻止我接收表单提交,我尝试更改安全设置,以允许访问不太安全的应用。我应该选择其他电子邮件提供商还是对此有解决方法?
您是否为您的Gmail帐户启用了2要素身份验证?如果是这样,您可能需要使用“应用密码”,而不是常规的电子邮件密码。