郵件發送
首先我們的郵箱要開通smtp服務,然后就可以在settings中配置了
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_USE_TLS = False #是否使用TLS安全傳輸協議(用於在兩個通信應用程序之間提供保密性和數據完整性。) EMAIL_USE_SSL = True #是否使用SSL加密,qq企業郵箱要求使用 EMAIL_HOST = 'smtp.163.com' #發送郵件的郵箱 的 SMTP服務器,這里用了163郵箱 EMAIL_PORT = 25 #發件箱的SMTP服務器端口 EMAIL_HOST_USER = 'charleschen@xmdaren.com' #發送郵件的郵箱地址 EMAIL_HOST_PASSWORD = '*********' #發送郵件的郵箱密碼(這里使用的是授權碼) # DEFAULT_FROM_EMAIL = 'tuweizhong <tuweizhong@163.com>' 這樣別人收到的郵件中就會有你設定的名稱 # 注意EMAIL_USE_TLS 與EMAIL_USE_SSL 是互斥的 # 發送郵件 from django.core.mail import send_mail send_mail('標題', '內容', '發送郵件的郵箱地址', ['收件人郵箱'], fail_silently=False) # 一次性發送多個郵件 from django.core.mail import send_mass_mail message1 = ('標題', '內容', '發送郵件的郵箱地址', ['收件人郵箱1', '收件人郵箱'2]) message2 = ('標題', '內容', '發送郵件的郵箱地址', ['收件人郵箱']) send_mass_mail((message1, message2), fail_silently=False)
雲服務器的問題
本來代碼在自己的機器上跑的是沒有問題的,但是放到雲服務器上就不行了,發送郵件時總會超時,經過大佬指點和一番百度,終於查到了問題所在,
原因竟然是: 阿里雲新開通的ECS雲服務器已默認封閉 25 郵件發送端口
所以,換端口吧!