Django 郵件發送問題smtplib.SMTPServerDisconnected: Connection unexpectedly closed

該錯誤出現的問題是:SSL選項未選擇

setting.py添加以下代碼(以QQ郵箱爲例子):

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.qq.com'
EMAIL_PORT = 465
EMAIL_HOST_USER = '[email protected]' #郵箱
EMAIL_HOST_PASSWORD = 'xxxxx' #授權碼
EMAIL_USE_SSL = True # 和SMTP對話是否使用SSL安全連接端口465

發送郵件代碼如下:

import os
from django.core.mail import send_mail

os.environ['DJANGO_SETTINGS_MODULE'] = 'EndProject.settings'

if __name__ == '__main__':

    send_mail(
        '來自cxl的測試郵件',
        'test',
        '[email protected]',#發送方
        ['[email protected]',],#接收方
    )

SSL是(Secure Sockets Layer 安全套接層),就是本地電腦和郵件發送服務器之間會把數據加密了再發送,這樣比較安全及本地殺毒軟件無法檢測這樣的內容,有時候客戶端出現一些特殊的情況可以勾選ssl再試試會發現問題不存在了

SSL選擇TRUE OR FALSE

勾選ssl相當於本地到郵局服務器直接加密發送

沒有勾選ssl相當於本地到服務器平常線路發送;

 

 ssl使用的端口和取消ssl的端口不一樣

       smtp   默認25         465(ssl)

       pop3   默認110       995(ssl)

       imap   默認143       993(ssl)

  SSL協議提供的服務主要有:

  1)認證用戶和服務器,確保數據發送到正確的客戶機和服務器;

  2)加密數據以防止數據中途被竊取;

  3)維護數據的完整性,確保數據在傳輸過程中不被改變。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章