Python 发送SMTP邮件的简单教程
Python使用SMTP发送邮件的两个模块:smtplib模块、email模块。
smtplib:负责发送邮件 email:负责构建邮件 二、SMTP端口1)未加密端口,smtplib.SMTP接口,端口:252)使用SSL加密,smtplib.SMTP_SSL接口,端口:4653)使用TLS加密,端口:587
三、四大步骤1、构造邮件内容# 纯文本msg = MIMEText(content) # 附件msg = MIMEMultipart()2、连接邮件服务器
s = smtplib.SMTP('smtp.qq.com', 25)3、登陆邮件服务器
s.login(msg_from, passwd)
msg_from:指发送者的邮箱
passwd:指发送者的密码,这个密码不是你的QQ登陆密码,而是你在QQ邮箱设置开启SMTP之后的一个授权码
4、发送邮件s.sendmail(msg_from, msg_to, msg.as_string())
msg_from:发送方msg_to:收件方msg.as_string():要发送的消息
四、常用场景1、纯文本邮件import smtplibfrom email.mime.text import MIMETextfrom email.header import Header # 发送者msg_from = 'xxxxx@qq.com' # 这里的密码不是QQ邮箱的密码,而是在设置里开启SMTP服务器后的授权码passwd = 'xxxxx' # 接受者msg_to = 'xxxx@qq.com' # 邮件文本content = ’Python 邮件发送测试...’ # 邮件主题subject = 'test' # 生成一个MIMEText对象(还有一些其它参数)msg = MIMEText(content) # 放入邮件主题msg[’Subject’] = Header(subject, ’utf-8’) # 放入发件人msg[’From’] = msg_from try: # 连接邮件服务器 s = smtplib.SMTP('smtp.qq.com', 25) # 登录到邮箱 s.login(msg_from, passwd) # 发送邮件:发送方,收件方,要发送的消息 s.sendmail(msg_from, msg_to, msg.as_string()) print(’成功’)except s.SMTPException as e: print(e)finally: s.quit()2、发送html文本
import smtplibfrom email.mime.text import MIMETextfrom email.header import Header # 发送者msg_from = 'xxxx@qq.com' # 这里的密码不是QQ邮箱的密码,而是在设置里开启SMTP服务器后的授权码passwd = 'xxxx' # 接受者msg_to = 'xxxx@qq.com' # 邮件文本content = '''<p>Python 邮件发送测试...</p><p><a href='http://www.baidu.com' rel='external nofollow' >这是一个链接</a></p>''' # 邮件主题subject = 'test' # 生成一个MIMEText对象(msg = MIMEText(content, ’html’, ’utf-8’) # 放入邮件主题msg[’Subject’] = Header(subject, ’utf-8’) # 放入发件人msg[’From’] = msg_from try: # 连接邮件服务器 s = smtplib.SMTP('smtp.qq.com', 25) # 登录到邮箱 s.login(msg_from, passwd) # 发送邮件:发送方,收件方,要发送的消息 s.sendmail(msg_from, msg_to, msg.as_string()) print(’成功’)except s.SMTPException as e: print(e)finally: s.quit()3、发送附件
import smtplibfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartfrom email.header import Header # 发送者msg_from = 'xxxx@qq.com' # 这里的密码不是QQ邮箱的密码,而是在设置里开启SMTP服务器后的授权码passwd = 'xxxx' # 接受者msg_to = 'xxxx@qq.com' # 邮件主题subject = 'test' # 生成一个MIMEMultipart对象(msg = message = MIMEMultipart() # 邮件文本message.attach(MIMEText(’这是菜鸟教程Python 邮件发送测试……’, ’plain’, ’utf-8’)) # 放入邮件主题msg[’Subject’] = Header(subject, ’utf-8’) # 放入发件人msg[’From’] = msg_from # 添加附件att1 = MIMEText(open(’./wordcloud_singer.py’, ’rb’).read(), ’base64’, ’utf-8’)att1['Content-Type'] = ’application/octet-stream’att1['Content-Disposition'] = ’attachment; filename='test.txt'’msg.attach(att1) try: # 连接邮件服务器 s = smtplib.SMTP('smtp.qq.com', 25) # 登录到邮箱 s.login(msg_from, passwd) # 发送邮件:发送方,收件方,要发送的消息 s.sendmail(msg_from, msg_to, msg.as_string()) print(’成功’)except s.SMTPException as e: print(e)finally: s.quit()
以上就是Python 发送SMTP邮件的简单教程的详细内容,更多关于Python 发送邮件的资料请关注好吧啦网其它相关文章!
相关文章:
1. 在Asp.net core项目中使用WebSocket2. ASP.NET MVC使用异步Action的方法3. 使用vue-cli创建项目并webpack打包的操作方法4. Docker配置本地镜像与容器的存储位置5. matplotlib如何设置坐标轴刻度的个数及标签的方法总结6. 使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例7. SpringMVC+Jquery实现Ajax功能8. 浅谈springboot一个service内组件的加载顺序9. 利用FastReport传递图片参数在报表上展示签名信息的实现方法10. JavaScript使用Promise封装Axios进行高效开发