python实现发邮件以及收邮件

1、发邮件代码

import os
import poplib
import smtplib
#from email.header import Header
from email.mime.text import MIMEText
import email

#登录邮箱
sent=smtplib.SMTP('smtp.163.com')
mailname='[email protected]'
mailpass='11111111111'
sent.login(mailname,mailpass)

#发送邮件
to=['[email protected]']  #邮件收件人
content=MIMEText('你好')        #邮件内容
content['Subject']='你好'    #设置邮件标题
content['From']=mailname #邮件发送人
content['To']=','.join(to)      #将邮件的收件人已,号方式进行群发
try:
    sent.sendmail(mailname,to, content.as_string())  #3个参数 发送人,收件人,邮件内容
    print("邮件发送成功")
    sent.close()
except smtplib.SMTPException:
    print("Error: 无法发送邮件")

2、收邮件

# coding=utf-8
import os
import poplib
import smtplib
from email.header import Header
from email.header import decode_header
from email.mime.text import MIMEText
import email

#登录邮箱
mailname='[email protected]'
mailpass='1111111111'
#sent.login(mailname,mailpass)

#收邮件
read=poplib.POP3('pop.163.com')
read.user(mailname)
read.pass_(mailpass)
tongji=read.stat()
str=read.top(tongji[0],0)
str2=[]
for x in str[1]:
        try:
            str2.append(x.decode('UTF-8'))
        except:
            try:
                str2.append(x.decode('gbk'))
            except:
                str2.append(x.decode('big5'))
msg=email.message_from_string('\n'.join(str2))
biaoti=decode_header(msg['Subject'])
print (biaoti)
if biaoti[0][1]:
    biaoti2=biaoti[0][0].decode(biaoti[0][1])
else:
    biaoti2=biaoti[0][0]
print (biaoti2)

猜你喜欢

转载自andyniu.iteye.com/blog/2298923
今日推荐