日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python发送邮件 退回_python 发送邮件(收到的邮件要有发送方才能回复)

發(fā)布時(shí)間:2023/12/3 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python发送邮件 退回_python 发送邮件(收到的邮件要有发送方才能回复) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Python使用SMTP(簡(jiǎn)單郵件傳輸協(xié)議)發(fā)送郵件

普通文本郵件

普通文本郵件發(fā)送的實(shí)現(xiàn),關(guān)鍵是要將MIMEText中_subtype設(shè)置為plain

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

import smtplib

from email.mime.text import MIMEText#導(dǎo)入MIMEText類

from email import encoders

from email.header import Header

from email.utils import parseaddr, formataddr

mail_host="smtp.163.com"#使用的郵箱的smtp服務(wù)器地址,這里是163的smtp地址

mail_user=raw_input("你的163郵箱: ")#發(fā)送方郵箱

mail_pass=raw_input("郵箱授權(quán)碼: ") #授權(quán)碼

mail_postfix="163.com"#郵箱的后綴,網(wǎng)易就是163.com

mail_from = raw_input("來自: ") #發(fā)送方昵稱

mail_sub = raw_input("郵件主題: ") #郵件主題

mail_content = raw_input("內(nèi)容: ")

def send_mail(sub,content):

me=mail_from+""

msg = MIMEText(content,‘plain‘,‘utf-8‘)#郵件正文,subtype(文本是plain),編碼格式

msg[‘Subject‘] = sub

msg[‘From‘] = me

to_list = map(None,raw_input("mail_to: ").split(" "))#可以群發(fā)

msg[‘To‘] = ",".join(to_list)#將收件人列表以‘,’分隔

try:

server = smtplib.SMTP()

server.connect(mail_host)#連接服務(wù)器

server.login(mail_user,mail_pass)#登錄操作

server.sendmail(me, to_list, msg.as_string())

server.close()

return True

except Exception, e:#捕捉異常,并將異常對(duì)象輸出

print str(e)

return False

if send_mail(mail_sub , mail_content): #郵件主題和郵件內(nèi)容

print "done!"

else:

print "failed!"

MIME(Multipurpose Internet Mail Extensions)多用途互聯(lián)網(wǎng)郵件擴(kuò)展類型。是設(shè)定某種擴(kuò)展名的文件用一種應(yīng)用程序來打開的方式類型,當(dāng)該擴(kuò)展名文件被訪問的時(shí)候,瀏覽器會(huì)自動(dòng)使用指定應(yīng)用程序來打開。多用于指定一些客戶端自定義的文件名,以及一些媒體文件打開方式。

它是一個(gè)互聯(lián)網(wǎng)標(biāo)準(zhǔn),擴(kuò)展了電子郵件標(biāo)準(zhǔn),使其能夠支持:

非ASCII字符文本;非文本格式附件(二進(jìn)制、聲音、圖像等);由多部分(multiple parts)組成的消息體;包含非ASCII字符的頭信息(Header information)。

這個(gè)標(biāo)準(zhǔn)被定義在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等RFC中。 MIME改善了由RFC 822轉(zhuǎn)變而來的RFC 2822,這些舊標(biāo)準(zhǔn)規(guī)定電子郵件標(biāo)準(zhǔn)并不允許在郵件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英語字符消息和二進(jìn)制文件,圖像,聲音等非文字消息原本都不能在電子郵件中傳輸(MIME可以)。MIME規(guī)定了用于表示各種各樣的數(shù)據(jù)類型的符號(hào)化方法。 此外,在萬維網(wǎng)中使用的HTTP協(xié)議中也使用了MIME的框架,標(biāo)準(zhǔn)被擴(kuò)展為互聯(lián)網(wǎng)媒體類型。

import smtplib

from email.mime.text import MIMEText

#用來格式化郵件地址

from email.header import Header

from email.utils import parseaddr, formataddr

msg = MIMEText(‘別人的容忍不是讓你踐踏的!!‘, ‘plain‘, ‘utf-8‘)

# 輸入Email地址和口令:

from_addr = raw_input(‘From(163郵箱): ‘)

#這里的密碼一定是授權(quán)碼,163郵箱原始密碼不行。

password = raw_input(‘授權(quán)碼: ‘)

# 輸入SMTP服務(wù)器地址:這里我們用smtp.163.com

#smtp_server = raw_input(‘SMTP server: ‘)

smtp_server = "smtp.163.com"

# 輸入收件人地址:

to_addr = raw_input(‘To: ‘)

def _format_addr(s):

name, addr = parseaddr(s)#這個(gè)函數(shù)會(huì)解析出姓名和郵箱地址

return formataddr(( Header(name, ‘utf-8‘).encode(), addr.encode(‘utf-8‘) if isinstance(addr, unicode) else addr))

def send_mail():

#設(shè)置發(fā)件人,收件人姓名和郵件主題

msg[‘From‘] = _format_addr(u‘joker ‘ % from_addr)

msg[‘To‘] = _format_addr(u‘朋友 ‘ % to_addr)

msg[‘Subject‘] = Header(u‘測(cè)試郵件‘, ‘utf-8‘).encode()

server = smtplib.SMTP(smtp_server, 25) # SMTP協(xié)議默認(rèn)端口是25

#server.set_debuglevel(1)#打印出和SMTP服務(wù)器交互的所有信息

server.login(from_addr, password)#登錄服務(wù)器

#發(fā)送郵件,這里第二個(gè)參數(shù)是個(gè)列表,可以有多個(gè)收件人

#郵件正文是一個(gè)str,as_string()把MIMEText對(duì)象變成str

server.sendmail(from_addr, [to_addr], msg.as_string())

server.quit()

return True

if send_mail():

print "done!"

總結(jié)

以上是生活随笔為你收集整理的python发送邮件 退回_python 发送邮件(收到的邮件要有发送方才能回复)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。