老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

python發(fā)郵件函數(shù),python發(fā)電子郵件

python電子郵件系列(三)之POP接收郵件

由上篇文章我們已經(jīng)得知郵件從發(fā)送到接收的過程:

公司主營業(yè)務(wù):網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出建水免費(fèi)做網(wǎng)站回饋大家。

發(fā)件人-MUA-MTA-若干MTA-MDA-MUA-收件人

本節(jié)接收郵件主要就是編寫一個 MUA 客戶端,從 MDA 將郵件取回本地。

收取郵件最常用的是 POP協(xié)議 ,目前版本是第三版,也稱 POP3 。python內(nèi)置了 poplib 模塊,支持POP3協(xié)議。

回想上一節(jié) SMTP ,我們對要發(fā)送的郵件內(nèi)容進(jìn)行了各種編碼,包括添加MIME header,編碼之后再進(jìn)行發(fā)送。

因此,我們通過POP3協(xié)議接收的也不是原內(nèi)容,而是經(jīng)過一系列編碼等處理的文本。

所以,要想把POP3收取的文本變?yōu)榭砷喿x的郵件對象,就需要利用 email 模塊對原始郵件進(jìn)行解析。

所以,郵件收取的流程就是:

由上一篇 文章 最后總結(jié)部分可知。郵件由字符到發(fā)送到網(wǎng)絡(luò)經(jīng)歷了如下的格式轉(zhuǎn)化:

純文本:

str-bytes-base64-str-bytes

二進(jìn)制文件:

binary code-base64-str-bytes

我們解析郵件也是按這個思路,逆序解析出內(nèi)容。

這里的 decode('utf-8') 先把字節(jié)流轉(zhuǎn)化為字符串,再將字符串轉(zhuǎn)化為 message 結(jié)構(gòu)的對象。這步與發(fā)送郵件的 as_string 函數(shù)相反。

先從上一節(jié)結(jié)構(gòu)化的 msg 中取出信件頭,打印出來。

如果是 multipart 結(jié)構(gòu), get_payload 函數(shù)會返回一個包含不同part的list,然后對每一part遞歸調(diào)用 print_info ,打印子信件頭和子信件內(nèi)容。

不是 multipart 時,之后再依據(jù) Content-Type 作不同處理:

如果是 text :

利用 get_payload(decode = Ture) 取出子信件的內(nèi)容, decode 為True,則按照 Content-Transfer-Type 將 base64 或 QP 解碼為 bytes 。

再 guess_charset 猜出編碼方式,之后將其解碼為字符顯示。

如果不是 Text 對象,則為附件:

打印出附件的 Content-Type 。

如何用Python發(fā)郵件

Python發(fā)送郵件簡單的實(shí)例:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import smtplib

from email.mime.text import MIMEText

from email.header import Header

sender = 'from@runoob.com'

receivers = ['429240967@qq.com'] # 接收郵件,可設(shè)置為你的QQ郵箱或者其他郵箱

# 三個參數(shù):第一個為文本內(nèi)容,第二個 plain 設(shè)置文本格式,第三個 utf-8 設(shè)置編碼

message = MIMEText('Python 郵件發(fā)送測試...', 'plain', 'utf-8')

message['From'] = Header("菜鳥教程", 'utf-8')

message['To'] = Header("測試", 'utf-8')

subject = 'Python SMTP 郵件測試'

message['Subject'] = Header(subject, 'utf-8')

try:

smtpObj = smtplib.SMTP('localhost')

smtpObj.sendmail(sender, receivers, message.as_string())

print "郵件發(fā)送成功"

except smtplib.SMTPException:

print "Error: 無法發(fā)送郵件"

用Python發(fā)送郵件,可以群發(fā),帶有多個附件

'''''?

函數(shù)說明:Send_email_text()?函數(shù)實(shí)現(xiàn)發(fā)送帶有附件的郵件,可以群發(fā),附件格式包括:xlsx,pdf,txt,jpg,mp3等?

參數(shù)說明:?

1.?subject:郵件主題?

2.?content:郵件正文?

3.?filepath:附件的地址,?輸入格式為["","",...]?

4.?receive_email:收件人地址,?輸入格式為["","",...]?

'''??

def?Send_email_text(subject,content,filepath,receive_email):??

import?smtplib??

from?email.mime.multipart?import?MIMEMultipart???

from?email.mime.text?import?MIMEText???

from?email.mime.application?import?MIMEApplication??

sender?=?"發(fā)送方郵箱"??

passwd?=?"填入發(fā)送方密碼"??

receivers?=?receive_email???#收件人郵箱??

msgRoot?=?MIMEMultipart()???

msgRoot['Subject']?=?subject??

msgRoot['From']?=?sender??

if?len(receivers)1:??

msgRoot['To']?=?','.join(receivers)?#群發(fā)郵件??

else:??

msgRoot['To']?=?receivers[0]??

part?=?MIMEText(content)???

msgRoot.attach(part)??

##添加附件部分??

for?path?in?filepath:??

if?".jpg"?in?path:??

#jpg類型附件??

jpg_name?=?path.split("\\")[-1]??

part?=?MIMEApplication(open(path,'rb').read())???

part.add_header('Content-Disposition',?'attachment',?filename=jpg_name)??

msgRoot.attach(part)??

if?".pdf"?in?path:??

#pdf類型附件??

pdf_name?=?path.split("\\")[-1]??

part?=?MIMEApplication(open(path,'rb').read())???

part.add_header('Content-Disposition',?'attachment',?filename=pdf_name)???

msgRoot.attach(part)??

if?".xlsx"?in?path:??

#xlsx類型附件??

xlsx_name?=?path.split("\\")[-1]??

part?=?MIMEApplication(open(path,'rb').read())???

part.add_header('Content-Disposition',?'attachment',?filename=xlsx_name)??

msgRoot.attach(part)??

if?".txt"?in?path:??

#txt類型附件??

txt_name?=?path.split("\\")[-1]??

part?=?MIMEApplication(open(path,'rb').read())??

part.add_header('Content-Disposition',?'attachment',?filename=txt_name)??

msgRoot.attach(part)??

if?".mp3"?in?path:??

#mp3類型附件??

mp3_name?=?path.split("\\")[-1]??

part?=?MIMEApplication(open(path,'rb').read())???

part.add_header('Content-Disposition',?'attachment',?filename=mp3_name)???

msgRoot.attach(part)??

try:??

s?=?smtplib.SMTP()??

s.connect("smtp.mail.aliyun.com")?#這里我使用的是阿里云郵箱,也可以使用163郵箱:smtp.163.com??

s.login(sender,?passwd)??

s.sendmail(sender,?receivers,?msgRoot.as_string())??

print?("郵件發(fā)送成功")??

except?smtplib.SMTPException?as?e:??

print("Error,?發(fā)送失敗")??

finally:??

s.quit()

如何在python程序中發(fā)郵件

提供以下兩種方式:

利用smtplib,email庫

coding:utf-8

import?smtplib

from?email.mime.text?import?MIMEText

from?email.mime.multipart?import?MIMEMultipart

import?sys

reload(sys)

sys.setdefaultencoding("utf8")

#?配置收發(fā)件人

recvaddress?=?['receiveemail@sina.com','receiveemail@qq.com']

#?163的用戶名和密碼

sendaddr_name?=?'your_email@163.com'

sendaddr_pswd?=?'your_password'

class?SendMail:

def?__init__(self,recver=None):

"""接收郵件的人:list?or?tuple"""

if?recver?is?None:

self.sendTo?=?recvaddress

else:

self.sendTo?=?recver

def?send(self,sub,content,attachcontent):

"""發(fā)送郵件"""

self.msg?=?MIMEMultipart()

#設(shè)置發(fā)送郵件

self.msg['from']?=?sendaddr_name

try:

#設(shè)置郵箱服務(wù)器

smtp?=?smtplib.SMTP('smtp.163.com',25)

#登錄

smtp.login(sendaddr_name,sendaddr_pswd)

#設(shè)置發(fā)送主題

self.msg['Subject']?=?sub

#設(shè)置郵件內(nèi)容

self.msg.attach(MIMEText(content))

#設(shè)置郵件附件,將附件的內(nèi)容attachcontent,寫到filename的文件中,作為附件發(fā)送

att1?=?MIMEText(attachcontent,?'base64',?'gb2312')

att1["Content-Type"]?=?'application/octet-stream'

att1["Content-Disposition"]?=?'attachment;?filename="testattach.txt"'#這里的filename可以任意寫,寫什么名字,郵件中顯示什么名字

self.msg.attach(att1)

#發(fā)送郵件

smtp.sendmail(self.msg['from'],?self.sendTo,?self.msg.as_string())

smtp.close()

print(u"發(fā)送郵件成功")

except?Exception,e:

print(u'發(fā)送郵件失敗:'+str(e))

raise

#調(diào)用

s?=?SendMail()

subject?=?"主題"

content?=?"這里是郵件內(nèi)容"

attachcontent?=?"這里是附件哦"

s.send(subject,content,attachcontent)

2.利用webpy自帶的email模塊

首先要安裝web.py的依賴庫

pip install web.py

#coding:utf-8

import?web

#####?email服務(wù)器配置?#####

web.config.smtp_server?=?'smtp.sina.com'

web.config.smtp_port?=?25

web.config.smtp_username?=?'你的email前綴,@前的字符串'

web.config.smtp_password?=?'你的密碼'

web.config.smtp_starttls?=?True

send_from="youremail@sina.com"

receiveemailaddr?=?["receiveemail@qq.com","receiveemail@163.com"]

subject=u'這里是主題'

message=u'這里是郵件的內(nèi)容'?

def?sendemail(sendfrom,sendto,subject,message,cc=None,?bcc=None,headers=({'User-Agent':?'webpy.sendmail',?'X-Mailer':?'webpy.sendmail',})):

try:

?web.sendmail(send_from,sendto,subject,message,cc=cc,bcc=bcc)

?print?"郵件發(fā)送成功"

except?Exception,e:

print(str(e))

#調(diào)用

sendemail(send_from,receiveemailaddr,subject,message)


網(wǎng)站名稱:python發(fā)郵件函數(shù),python發(fā)電子郵件
標(biāo)題來源:http://www.xueling.net.cn/article/hoeeid.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 欧美一级毛片免费看 | 蜜臀亚洲AV无码精品国产午夜. | 国产在线精品一区二区三区不卡 | 日韩一级大片在线 | 国产精品日本一区二区在线播放 | 久热免费在线视频 | 少妇被躁爽到高潮无码麻豆AV | 国产AV办公室丝袜秘书 | 中文字幕在线观看二区 | 大地资源中文在线观看免费 | 日本高清有码视频 | 国产日韩欧美视频 | 国产美女视频黄a片免费观看软件 | 日韩欧美在线视频一区 | 国产在线一区二区三区四区 | 超碰在线人人爱 | 91精品一区在线观看 | 亚洲精品久久久久久久久 | 噗嗤噗嗤高清在线视频www | 国产精品3区 | 欧美丰满老妇熟乱xxxxyyy | 男女久久久 | 日产国产精品亚洲系列 | 精品热99 | 高h视频在线播放 | 久久中文字幕无码A片不卡男同 | 亚洲国产精品久久久久婷婷老年 | 亚洲人成伊人成综合网76 | 欧美成人精品一区二区三区在线看 | 老司机成人免费视频 | 国产美女一级二级三级chinese | 亚洲欧美乱日韩乱国产 | 欧美A级毛欧美1级A大片 | 中文字幕无码久久精品 | 国产无线乱码一区二三区 | 亚洲国产欧美日韩欧美特级 | 粉嫩一区二区三区国产精品 | 日本欧美大码aⅴ在线播放 亚洲靠逼网站 | 麻豆影视在线 | 污视频在线免费观看一区二区三区 | 99ri精品|