欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決阿里云郵件發(fā)送不能使用25端口問題

 更新時間:2020年08月07日 09:51:22   作者:X小白的逆襲之旅  
這篇文章主要介紹了解決阿里云郵件發(fā)送不能使用25端口問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

本地測試發(fā)郵件功能很流暢,部署到阿里云上以后發(fā)現(xiàn)總是NOT FIND,這就很奇怪。開始以為是url寫錯了導(dǎo)致的,檢查N多遍發(fā)現(xiàn)完全一毛一樣的。后來各種百度,發(fā)現(xiàn)是因為阿里云禁用了25端口導(dǎo)致的。查看各種資料,解決的辦法五花八門。試了幾種解決方案,都解決了問題?,F(xiàn)在整理如下:(不用去嘗試申請解禁25端口的,可以很認真負責的告訴你,完全沒有卵用)

首先,是阿里大大給的官方的解決方案,用SMTP發(fā)送郵件:代碼如下

# -*- coding:utf-8 -*-
import urllib, urllib2
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
# 發(fā)件人地址,通過控制臺創(chuàng)建的發(fā)件人地址
username = 'xxx@xxx.com'
# 發(fā)件人密碼,通過控制臺創(chuàng)建的發(fā)件人密碼
password = 'XXXXXXXX'
# 收件人地址列表,支持多個收件人,最多30個
rcptlist = ['to1@to.com', 'to2@to.com']
receivers = ','.join(rcptlist)
# 構(gòu)建 multipart 的郵件消息
msg = MIMEMultipart('mixed')
msg['Subject'] = 'Test Email'
msg['From'] = username
msg['To'] = receivers
# 構(gòu)建 multipart/alternative 的 text/plain 部分
alternative = MIMEMultipart('alternative')
textplain = MIMEText('純文本部分', _subtype='plain', _charset='UTF-8')
alternative.attach(textplain)
# 構(gòu)建 multipart/alternative 的 text/html 部分
texthtml = MIMEText('超文本部分', _subtype='html', _charset='UTF-8')
alternative.attach(texthtml)
# 將 alternative 加入 mixed 的內(nèi)部
msg.attach(alternative)
# 附件類型
# xlsx 類型的附件
xlsxpart = MIMEApplication(open('測試文件1.xlsx', 'rb').read())
xlsxpart.add_header('Content-Disposition', 'attachment', filename=Header("測試文件1.xlsx","utf-8").encode())
msg.attach(xlsxpart)
# jpg 類型的附件
jpgpart = MIMEApplication(open('2.jpg', 'rb').read())
jpgpart.add_header('Content-Disposition', 'attachment', filename=Header("2.jpg","utf-8").encode())
msg.attach(jpgpart)
# mp3 類型的附件
mp3part = MIMEApplication(open('3.mp3', 'rb').read())
mp3part.add_header('Content-Disposition', 'attachment', filename=Header("3.mp3","utf-8").encode())
msg.attach(mp3part)
# 發(fā)送郵件
try:
  client = smtplib.SMTP()
  #python 2.7以上版本,若需要使用SSL,可以這樣創(chuàng)建client
  #client = smtplib.SMTP_SSL()
  client.connect('smtpdm.aliyun.com')
  client.login(username, password)
  #發(fā)件人和認證地址必須一致
  client.sendmail(username, rcptlist, msg.as_string())
  client.quit()
  print '郵件發(fā)送成功!'
except smtplib.SMTPRecipientsRefused:
  print '郵件發(fā)送失敗,收件人被拒絕'
except smtplib.SMTPAuthenticationError:
  print '郵件發(fā)送失敗,認證錯誤'
except smtplib.SMTPSenderRefused:
  print '郵件發(fā)送失敗,發(fā)件人被拒絕'
except smtplib.SMTPException,e:
  print '郵件發(fā)送失敗, ', e.message

官方的當然好用嘍,就是寫的太詳細和復(fù)雜了,實在懶得折騰,為了盡可能少的改代碼,就放棄了。

下面是兩種網(wǎng)友提供的簡單的解決方案

這個是簡化版的SMTP方式

import smtplib
from email.mime.text import MIMEText

msg_from = '306334678@qq.com' # 發(fā)送方郵箱
passwd = '****' # 填入發(fā)送方郵箱的授權(quán)碼(填入自己的授權(quán)碼,相當于郵箱密碼)
msg_to = ['****@qq.com','**@163.com','*****@163.com'] # 收件人郵箱

subject = "郵件標題" # 主題
content = "郵件內(nèi)容,我是郵件內(nèi)容,哈哈哈"
# 生成一個MIMEText對象(還有一些其它參數(shù))
# _text_:郵件內(nèi)容
msg = MIMEText(content)
# 放入郵件主題
msg['Subject'] = subject
# 也可以這樣傳參
# msg['Subject'] = Header(subject, 'utf-8')
# 放入發(fā)件人
msg['From'] = msg_from
# 放入收件人
msg['To'] = '616564099@qq.com'
# msg['To'] = '發(fā)給你的郵件啊'
try:
  # 通過ssl方式發(fā)送,服務(wù)器地址,端口
  s = smtplib.SMTP_SSL("smtp.qq.com", 465)
  # 登錄到郵箱
  s.login(msg_from, passwd)
  # 發(fā)送郵件:發(fā)送方,收件方,要發(fā)送的消息
  s.sendmail(msg_from, msg_to, msg.as_string())
  print('成功')
except s.SMTPException as e:
  print(e)
finally:
  s.quit()

方法二:為使用send_mail模塊發(fā)送(和我原來的代碼相似,改動較少,墻裂推薦)

setting.py配置如下

# EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST = 'smtp.qq.com' # 如果是 163 改成 smtp.163.com
EMAIL_PORT = 465  # 端口號
EMAIL_HOST_USER = '306334678@qq.com' # 發(fā)送者的郵箱帳號
EMAIL_HOST_PASSWORD = '***' #  發(fā)送者的郵箱授權(quán)
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
#這樣收到的郵件,收件人處就會這樣顯示
#DEFAULT_FROM_EMAIL = 'lqz<'306334678@qq.com>'

EMAIL_USE_SSL = True  #使用ssl


#EMAIL_USE_TLS = False # 使用tls
#EMAIL_USE_SSL 和 EMAIL_USE_TLS 是互斥的,即只能有一個為 True

views.py

from django.core.mail import send_mail  # 導(dǎo)入郵箱模塊
from threading import Thread   # 導(dǎo)入線程模塊
from threading import Thread
  t1 = Thread(target=send_mail,args=(
  '您的%s文章被%s評論了'%(article_name,user_name),
  '這個人評論了:%s'%(content),
  settings.EMAIL_HOST_USER,
  ['1670874977@qq.com'] )) 
  t1.start()

到此這篇關(guān)于解決阿里云郵件發(fā)送不能使用25端口問題的文章就介紹到這了,更多相關(guān)阿里云郵件不能使用25端口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實現(xiàn)解析路徑字符串并獲取每個文件夾名稱

    Python實現(xiàn)解析路徑字符串并獲取每個文件夾名稱

    在?Python?中,解析路徑字符串并獲取每個文件夾的名稱是一項常見的任務(wù),這篇文章主要為大家詳細介紹了Python解析路徑字符串的具體方法,希望對大家有所幫助
    2024-04-04
  • django在保存圖像的同時壓縮圖像示例代碼詳解

    django在保存圖像的同時壓縮圖像示例代碼詳解

    這篇文章主要介紹了django在保存圖像的同時壓縮圖像,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • python如何遍歷指定路徑下所有文件(按按照時間區(qū)間檢索)

    python如何遍歷指定路徑下所有文件(按按照時間區(qū)間檢索)

    這篇文章主要給大家介紹了關(guān)于python如何遍歷指定路徑下所有文件(按按照時間區(qū)間檢索)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • 詳解如何使用Python操作MySQL的各種功能和用法

    詳解如何使用Python操作MySQL的各種功能和用法

    當今互聯(lián)網(wǎng)時代,數(shù)據(jù)處理已經(jīng)成為了一個非常重要的任務(wù),而MySQL作為一款開源的關(guān)系型數(shù)據(jù)庫,被廣泛應(yīng)用于各種場景,本篇博客將介紹如何使用Python操作MySQL的各種功能,以及一些高級用法,需要的朋友可以參考下
    2023-11-11
  • 深入理解Python虛擬機中整型(int)的實現(xiàn)原理及源碼剖析

    深入理解Python虛擬機中整型(int)的實現(xiàn)原理及源碼剖析

    在本篇文章當中主要給大家介紹在 cpython 內(nèi)部是如何實現(xiàn)整型數(shù)據(jù) int 的,主要是分析 int 類型的表示方式,分析 int 類型的巧妙設(shè)計
    2023-03-03
  • python如何求取指定范圍內(nèi)的質(zhì)數(shù)

    python如何求取指定范圍內(nèi)的質(zhì)數(shù)

    這篇文章主要介紹了python如何求取指定范圍內(nèi)的質(zhì)數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python實現(xiàn)將長圖制作成一個視頻

    Python實現(xiàn)將長圖制作成一個視頻

    這篇文章主要為大家詳細介紹了Python如何實現(xiàn)將一個長圖制作成一個視頻,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-05-05
  • python_tkinter彈出對話框創(chuàng)建

    python_tkinter彈出對話框創(chuàng)建

    這篇文章主要介紹了python_tkinter彈出對話框?qū)崿F(xiàn),tkinter提供了三個模塊,可以創(chuàng)建彈出對話窗口,下面詳細介紹,需要的小伙伴可以參考一下,希望對你的學習有所幫助
    2022-03-03
  • python使用tkinter實現(xiàn)透明窗體

    python使用tkinter實現(xiàn)透明窗體

    一直在思索實現(xiàn)一個透明的窗體,然后可以基于這個窗體可以開發(fā)出各種好玩的應(yīng)用(如桌面運動的小人、運動的小球、截圖、錄制GIF等等),今天無意間居然讓我把其中一個最核心的技術(shù)難關(guān)突破了,我非常高興,也借這個機會跟大家分享一下。
    2021-05-05
  • 詳解Python 數(shù)據(jù)庫的Connection、Cursor兩大對象

    詳解Python 數(shù)據(jù)庫的Connection、Cursor兩大對象

    這篇文章主要介紹了Python 數(shù)據(jù)庫的Connection、Cursor兩大對象,文中通過python 數(shù)據(jù)庫圖解給大家介紹的非常詳細,需要的朋友參考下吧
    2018-06-06

最新評論