這篇文章主要講解了Python基于QQ郵箱實現(xiàn)SSL發(fā)送的方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。
在雙灤等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計、網(wǎng)站制作 網(wǎng)站設(shè)計制作按需開發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)整合營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,雙灤網(wǎng)站建設(shè)費(fèi)用合理。一、QQ郵箱SSL發(fā)送
獲取qq授權(quán)碼
ssl發(fā)送方式不是使用郵箱密碼,而是需要授權(quán)碼,具體步驟如下:
登錄發(fā)送人qq郵箱>>設(shè)置>>賬戶>>POP3/STMP服務(wù)開啟>>生成授權(quán)碼
驗證密保
復(fù)制16位授權(quán)碼
qq郵箱發(fā)送源碼
#!/usr/bin/python3 # encoding:utf-8 ''' Created on 2020-04-24 12:15 @author: Administrator ''' #coding:utf-8 import smtplib from email.mime.text import MIMEText # 引入smtplib和MIMEText from email.mime.multipart import MIMEMultipart #設(shè)置SMTP地址 host = 'smtp.qq.com' #設(shè)置發(fā)件服務(wù)器端口號,注意,這里有SSL和非SSL兩種形式,qq SSL端口為465,非SSL為端口默認(rèn)25 port = "465" #設(shè)置發(fā)件郵箱 sender = "357@qq.com" #設(shè)置發(fā)件郵箱的授權(quán)碼 ,qq郵箱ssl發(fā)送需要先開啟stmp并獲取密碼 pwd = 'sqmqweertyuiioplk' #16授權(quán)碼 #設(shè)置郵件接收人,發(fā)送給多人,隔開 receiver = 'yiwr@163.com,7894@qq.com' #設(shè)置郵件抄送人,發(fā)送給多人,隔開 cc = 'ywr198592@126.com' ''' 不帶附件發(fā)送郵件 #設(shè)置html格式的郵件 #body = '這是一個python測試郵件
test
' #msg = MIMEText(body, 'html') # 設(shè)置正文為符合郵件格式的HTML內(nèi)容 #發(fā)送普通格式郵件 msg = MIMEText('Python 普通格式,郵件發(fā)送測試...', 'plain', 'utf-8') ''' #需要發(fā)送附件的方法實例 msg = MIMEMultipart() #設(shè)置發(fā)送頭信息 msg.add_header('subject', '測試郵件') #設(shè)置郵件標(biāo)題 msg.add_header('from', sender) # 設(shè)置發(fā)送人 msg.add_header('to', receiver) # 設(shè)置接收人 msg.add_header('Cc',cc) # 抄送人 #設(shè)置正文內(nèi)容 msg.attach(MIMEText('Python 郵件發(fā)送測試...', 'plain', 'utf-8')) #設(shè)置附件1,D://cs.txt 文件 att1 = MIMEText(open('D://cs.txt', 'rb').read(), 'base64', 'utf-8') att1.add_header('Content-Type', 'application/octet-stream') # 這里的filename可以任意寫,寫什么名字,郵件中顯示附件的名字 att1.add_header('Content-Disposition', 'attachment', filename='cs.txt') msg.attach(att1) try: #注意!如果是使用非SSL端口,這里就要改為SMTP smtpObj = smtplib.SMTP_SSL(host, port) #登陸郵箱 smtpObj.login(sender, pwd) #發(fā)送郵件,注意第二個參數(shù)是發(fā)送人抄送人地址 smtpObj.sendmail(sender, receiver.split(',') + cc.split(','), msg.as_string()) print ("發(fā)送成功") except smtplib.SMTPException as e: print ("發(fā)送失敗") print(e) finally: smtpObj.quit()