python 发送邮件

发送邮件使用到两个模块 smtplib 发送邮件和 email 封装邮件,这两个模块都是Python自带的。

先看一个简单的邮件的发送(无附件的text文本的发送)

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText


sender = "lilyxiaoyy@163.com"  # 发件人
to_lst = ["474852639@qq.com", "lilyxiaoyy@126.com", "lilyxiaoyy@163.com"]  # 收件人

# 准备email
email = MIMEMultipart()
email["Subject"] = "明天天气晴!"  # 标题
email["From"] = sender  # 发件人
email["To"] = ",".join(to_lst)  # 收件人

# 邮件正文
text = MIMEText("明天去逛街啊!", _subtype="plain", _charset="utf-8")
email.attach(text)

# 发送邮件
smtp = smtplib.SMTP()
smtp.connect(host="smtp.163.com")  # 连接smtp服务器
smtp.login(user=sender, password="chrdw13579")  # 登录 不是邮箱密码 是客户端授权密码
smtp.sendmail(sender, to_lst, email.as_string())  # 发送邮件
print("发送成功!")

 

接下来,看带附件的邮件怎么发送?

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication


sender = "lilyxiaoyy@163.com"  # 发件人
to_lst = ["xiaoyy@ipmotor.net", "474852639@qq.com", "lilyxiaoyy@126.com", "lilyxiaoyy@163.com"]  # 收件人

# 准备email
email = MIMEMultipart()
email["Subject"] = "明天天气晴!"  # 标题
email["From"] = sender  # 发件人
email["To"] = ",".join(to_lst)  # 收件人

# 邮件正文
text = MIMEText("明天去逛街啊!", _subtype="plain", _charset="utf-8")
email.attach(text)

# 附件
att1 = MIMEApplication(open("08. 并发编程.pdf", mode="rb").read())
att1.add_header("Content-disposition", "attachment", filename="08. 并发编程.pdf")
email.attach(att1)

att2 = MIMEApplication(open("09. mysql.pdf", mode="rb").read())
att2.add_header("Content-disposition", "attachment", filename="09. mysql.pdf")
email.attach(att2)

# 发送邮件
smtp = smtplib.SMTP()
smtp.connect(host="smtp.163.com")  # 连接smtp服务器
smtp.login(user=sender, password="chrdw13579")  # 登录 不是邮箱密码 是客户端授权密码
smtp.sendmail(sender, to_lst, email.as_string())  # 发送邮件
print("发送成功!")

 

 最后看一个邮件内容带图片的邮件怎么发送?

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from email.mime.image import MIMEImage


sender = "lilyxiaoyy@163.com"  # 发件人
to_lst = ["xiaoyy@ipmotor.net", "474852639@qq.com", "lilyxiaoyy@126.com", "lilyxiaoyy@163.com"]  # 收件人

# 准备email
email = MIMEMultipart()
email["Subject"] = "明天天气晴!"  # 标题
email["From"] = sender  # 发件人
email["To"] = ",".join(to_lst)  # 收件人

# 邮件正文
text = MIMEText("明天去逛街啊!花<img src='cid:flower'/>", _subtype="html", _charset="utf-8")
email.attach(text)

# 附件
att1 = MIMEApplication(open("08. 并发编程.pdf", mode="rb").read())
att1.add_header("Content-disposition", "attachment", filename="08. 并发编程.pdf")
email.attach(att1)

att2 = MIMEApplication(open("09. mysql.pdf", mode="rb").read())
att2.add_header("Content-disposition", "attachment", filename="09. mysql.pdf")
email.attach(att2)

# 加载图片
img = MIMEImage(open("flower.jpg", "rb").read())
img.add_header("Content-ID", "flower")  # 对应cid
email.attach(img)

# 发送邮件
smtp = smtplib.SMTP()
smtp.connect(host="smtp.163.com")  # 连接smtp服务器
smtp.login(user=sender, password="chrdw13579")  # 登录 不是邮箱密码 是客户端授权密码
smtp.sendmail(sender, to_lst, email.as_string())  # 发送邮件
print("发送成功!")
posted on 2019-12-31 11:01  lilyxiaoyy  阅读(123)  评论(0)    收藏  举报

返回
顶部