Как я могу получить форму "Свяжитесь со мной" на своем веб-сайте, чтобы перейти на мою почту Gmail? - PullRequest
1 голос
/ 04 октября 2019

Я пытаюсь создать контактную форму для моего портфолио, но у меня возникают проблемы.

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, чтобы посмотреть, не может ли что-то в настройках безопасности помешать мне получать отправленные формы, я попытался изменить защитунастройка, которая позволяет доступ для менее безопасных приложений. Стоит ли выбирать другого провайдера электронной почты или есть обходной путь для этого?

1 Ответ

0 голосов
/ 04 октября 2019

У вас включена двухфакторная аутентификация для вашей учетной записи Gmail? В этом случае вам может понадобиться использовать «пароль приложения», а не обычный пароль электронной почты.

https://support.google.com/accounts/answer/185833

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...