2015-08-30 6 views
0

Я пытаюсь получить электронную почту, работающую с моим приложением Django, и не смог. Я читал по подобным вопросам и до сих пор не смог указать свою ошибку.Django отправка электронной почты с помощью Google SMTP

Мой settings.py выглядит следующим образом:

EMAIL_HOST = 'smtp.gmail.com' 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'pass' 
EMAIL_PORT = 587 
EMAIL_USE_TLS = True 
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 

код для отправки сообщения электронной почты выглядит следующим образом:

def application(request): 

     if request.method == 'GET': 
       form = ApplyForm() 
     else: 
       form = ApplyForm(request.POST) 
       if (form.is_valid()): 
         try: 
           subject = 'Overland Application' 
           from_email = form.cleaned_data['useremail'] 
           phone = form.cleaned_data['phone'] 
           names = form.cleaned_data['names'] 
           year = form.cleaned_data['year'] 
           make = form.cleaned_data['make'] 
           model = form.cleaned_data['model'] 
           message = str(names) + '\n' + str(from_email) + '\n' + str(phone) + '\n' + str(year) + '\n' + str(make) + '\n' + str(model) 
           try: 
             send_mail(subject, message, settings.EMAIL_HOST_USER, ['[email protected]'], fail_silently=False) 
           except BadHeaderError: 
             return HttpResponse('Invalid header found.') 
           return redirect('thanks') 
         except: 
           pass 
     return render(request, "overland/apply.html", {'form': form}) 

Некоторая дополнительная информация, что это, кажется, доступ к моей учетной записи электронной почты, как я сделал получите электронное письмо от google, в котором говорится о подозрительном доступе к моей учетной записи из местоположения сервера.

Я также пинговал сервер smtp с сервера, чтобы убедиться, что он общается.

Я не уверен, что это небольшая синтаксическая ошибка с моей стороны где-то, или я неправильно использую функцию электронной почты django, потому что локально она работала и перенаправлялась на мою страницу благодарности, но когда я это делаю, просто перезагрузить страницу и ничего не отправлять.

Заранее благодарим за любую информацию.

+0

Попробуйте использовать порт 465; В прошлом у меня были проблемы с доступом через 587 –

ответ

0

Это была проблема с самой Gmail. Любой, кто сталкивается с этой проблемой, должен сначала попробовать перейти к настройкам безопасности и разрешить доступ к менее безопасным приложениям. если это не работает, попробуйте посетить https://accounts.google.com/DisplayUnlockCaptcha, а затем воспользуйтесь приложением для отправки электронной почты еще раз.

Смежные вопросы