Django的郵件發送以及雲服務器上遇到的問題


郵件發送

首先我們的郵箱要開通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 郵件發送端口

所以,換端口吧!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM