# coding:utf-8 import smtplib # 连接邮箱和发送的库用 from email.mime.multipart import MIMEMultipart # 邮件发送内容打包库 from email.header import Header # 邮件头部,标题等需要用的库 from email.mime.text import MIMEText # 发送邮件正文,文字内容需要用的库 # 1,连接邮箱服务器,登陆邮箱账户密码 :a = smtplib.SMTP_SSL('邮箱服务器',端口) 邮箱端口一般为:25/465 可以理解25属于不加密端口, # 465属于加密端口 # 连接服务器方式有两种:一种是smtplib.smtp() 这种不加密,发送的邮箱容易进垃圾邮箱。 # 一种是smtplib.smtp_ssl 这种是加密方式,减少近垃圾邮箱的概率 con = smtplib.SMTP_SSL('smtp.163.com',465) # 连接需要登陆邮箱的服务器 # 2,登陆邮箱 :连接对象.login('账号','密码/邮箱授权码') con.login('123456@163.com','授权码') # 到这一步运行程序如无报错,便登陆成功 # 3,先创建一个MIMEultipart邮件对象 msg = MIMEMultipart() # 4,设置邮件主题,以及标题内容。Header('邮件内容标题','编码方式').encode() subject = Header('我是邮件标题','utf8').encode() msg['Subject'] = subject # 创建邮件主题 msg['From'] = '123456@163.com <123456@163.co>' # 设置邮件发送人 # 设置头部格式邮件收件人:msg['To'] = '收件人1;收件人2;收件人3;收件人N' msg['To'] = 'xxxx1@163.com;xxxx@qq.com;xxxx2@163.com' # 设置邮件正文(邮件需要发送的内容) # 普通文本发送代码格式:text = MIMEText('邮寄内容','发送邮寄类型','编码方式') # 邮寄类型有:plain(普通文字) html(html类型邮寄) base64(二进制形式/附件) a = '邮件内容文本' text = MIMEText(a,'plain','utf8') # 创建邮件内容 msg.attach(text) # 把邮件头部和邮件内容关联在一起 to_addr = ['xxxx@163.com','xxxx@qq.com','xxxx2@163.com'] # 群发邮件需要一个列表类型。 # 正式发送邮件:格式:服务器连接对象.sendmail('发件人','收件人','字符串类型的邮件对象') con.sendmail('123456@163.com',to_addr,msg.as_string()) # msg.as_string() 固定写法 # 前面设置的收件人,只是邮件头部显示,这边设置的邮件收件人才是真正的邮件收件人。 con.quit() # 关闭邮箱连接,退出。