[英]Django send_mail not working and returns 0 errors
我的代碼可以從本地主機正常執行。 但是,當我嘗試從ubuntu 16.04服務器運行django程序時,它不起作用。 我嘗試在外殼中運行該程序,但不返回任何錯誤。 當我檢查收件箱時,沒有收到來自“發件人”地址的電子郵件。
我嘗試將電子郵件發送到其他地址。 我也嘗試過使用TLS而非SSL發送它。 我還嘗試使用smtplib發送電子郵件,而不是使用django的send_mail。
這是我用來發送電子郵件的代碼
send_mail('subject','my message','from_email@gmail.com',['to_email@xxxx.com'],fail_silently=False)
這是我的settings.py文件
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'from_email@gmail.com'
EMAIL_HOST_PASSWORD = '*******'
EMAIL_PORT = 465
您缺少Django / Gmail所需的幾個設置。 確保定義EMAIL_BACKEND。
此外,對於端口465,您需要啟用默認情況下禁用的SSL。 https://docs.djangoproject.com/zh-CN/2.2/ref/settings/#email-use-ssl
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'from_email@gmail.com'
EMAIL_HOST_PASSWORD = '*******'
EMAIL_PORT = 465
EMAIL_USE_SSL = True
或者,您可以在587上使用TLS
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'from_email@gmail.com'
EMAIL_HOST_PASSWORD = '*******'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
使用Gmail時遇到的問題之一是Gmail阻止了該網站的訪問,因為IP地址無法識別並且Gmail認為有人闖入了我的帳戶。
您是否檢查過帳戶中可能需要處理的警報? 我們花了幾個小時才自己做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.