[英]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.