如何让我的网站“联系我”表格到达我的 Gmail?

我正在尝试为我的投资组合建立一个联系我的表格,但我遇到了问题。


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', 'The_email_I_use_on_form@gmail.com')

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,

                      ['to_me@gmail.com'])

            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 上的设置,看看安全设置中是否存在阻止我接收表单提交的内容,我尝试更改允许访问不太安全的应用程序的安全设置。我应该选择不同的电子邮件提供商还是有解决方法?


斯蒂芬大帝
浏览 74回答 1
1回答

胡子哥哥

您是否为您的 Gmail 帐户启用了 2 因素身份验证?如果是这样,您可能需要使用“应用程序密码”,而不是您的常规电子邮件密码。https://support.google.com/accounts/answer/185833
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python