[英]Django sending email with google SMTP
我一直在尝试使电子邮件与我的Django应用程序一起使用,但未能成功。 我一直在阅读类似的问题,但仍然无法指出我的错误。
我的settings.py看起来像:
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'email@domain'
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@domain.com'], fail_silently=False)
except BadHeaderError:
return HttpResponse('Invalid header found.')
return redirect('thanks')
except:
pass
return render(request, "overland/apply.html", {'form': form})
一些其他信息是,它似乎正在访问我的电子邮件帐户,因为我确实收到了google的电子邮件,说我的帐户从服务器位置可疑访问。
我还从实时服务器ping SMTP服务器以确保它正在通信。
我不确定这是否是我的某个地方的小语法错误,或者我在使用django邮件功能时不正确,因为在本地它似乎可以正常工作,并且会重定向到我的感谢页面,但是当我这样做时,它似乎只是重新加载了页面,但不发送任何内容。
在此先感谢您提供任何信息。
这是gmail本身的问题。 遇到此问题的任何人都应首先尝试进入安全设置并允许访问不太安全的应用程序。 如果不行,请尝试访问https://accounts.google.com/DisplayUnlockCaptcha ,然后使用您的应用程序再次发送电子邮件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.