首先了解 最新的登录方式第三方登录需要使用授权码,
Python发送邮件的步骤:
前提是:开通第三方授权,可以使用smtp_SSL()。
1.创建一个smtp对象。
2.连接smtp服务器,默认端口都是网易为25,腾讯微465。
3.登录自己的邮箱账号。
4.调用发送消息函数,参数为:发件方,收件方,内容等。
5.关闭连接。
首先将需要发送的内容单独房子文件中:创建配置文件
Subject = hahahah
message = '''
大家好:
文件测试1,尽请见谅1!
2018.1.10
'''
其次需要使用正则表达式将内容取出:
import codecs
import re
import sys
reload(sys)
sys.setdefaultencoding('utf8')
class GetProperty(object):
def __init__(self):
self.filename="message.conf"
def OpenDemo(self,property):
with codecs.open(self.filename,encoding="utf-8") as File1:
if property != "message":
for line in File1.readlines():
if line.startswith("{0} = ".format(property)):
value = line.split("{0} = ".format(property))[1]
return value
else:
reg=re.compile(r"message = '''((.*\n)*)'''")
contain= reg.findall(File1.read())
return contain[0][0]
if __name__ == '__main__':
getProperty=GetProperty()
getProperty.OpenDemo("From")
getProperty.OpenDemo("To")
getProperty.OpenDemo("Subject")
getProperty.OpenDemo("message")
最后创建邮件发送文件根据之前步骤添加:
import email.mime.multipart
import email.mime.text
import smtplib
from util import GetProperty
getProperty=GetProperty()
#----创建消息对象
sendFrom=getProperty.OpenDemo("From")
sendTo=getProperty.OpenDemo("To")
sendSubject=getProperty.OpenDemo("Subject")
msg=email.mime.multipart.MIMEMultipart()
msg['from']=sendFrom
msg['to']=sendTo
msg['subject']=sendSubject
sendMessage=getProperty.OpenDemo("message")
#----消息内容
txt = email.mime.text.MIMEText(_text = sendMessage,_subtype = "plain",_charset='UTF-8' )
msg.attach(txt)
#----发送邮件
smtp=smtplib.SMTP_SSL()
smtp.connect("smtp.qq.com",465)
smtp.sendmail(from_addr=sendFrom,to_addrs=sendTo.split(","),msg=msg.as_string())
smtp.quit()