上一篇 :
无无
使用Python smtplib库在线发送电邮
使用Python完成电子邮件的发送很容易,但许多人往往因为smtp服务的相关设置问题而失败,本节将使用Python的smptlib库,通过在线方式完成电子邮件的发送,同时着重说明邮件授权码如何获得。
创建邮件附件所需文件
#创建一个文件,一个图片
!echo 'my python email' > test.txt
!wget https://www.freeaihub.com/images/python.png
导入smtplib和email库
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
import os,time
配置信息
什么是授权码?
授权码是邮箱用于登录第三方客户端的专用密码。适用于登录以下服务:POP3/IMAP/SMTP等服务。
不同的邮件服务商获取授权码的方法不同,以下为获取方法,注意,是获得发送人邮箱的授权码。
#在这里填入信息
sender = '' #发送人邮箱,你自己的邮件如yourname@126.com
authcode = '' #发送人邮箱授权码
receivers = '' #收件人的邮箱,例如yourfriendname@126.com
smtpserver='' # 例如smtp.126.com
smtpport=465 #smtp服务端口,通常为465,可根据邮箱服务的信息进行更改
subject = 'python发邮件测试' #主题
content = 'python smtplib模块和email模块自动发送的邮件' #正文
撰写邮件
#初始化信息对象
msg = MIMEMultipart()
msg['Subject'] = subject
msg['From'] = sender
msg['To'] = receivers
msg.attach(MIMEText('使用python smtplib模块和email模块自动发送邮件测试','plain','utf-8'))
#构造附件1,传送当前目录下文件
file_att1 = MIMEText(open('test.txt','rb').read(),'base64','utf-8') # rb以二进制方式读取
# file_att1["Content-Type"] = 'application/octet-stream'
# filename为附件名称,可以任意写,写什么名字,邮件中显示什么名字
file_att1["Content-Disposition"] = 'attachment; filename = "test.txt" '
#将附件添加到MIMEMultipart中
msg.attach(file_att1)
#图片附件
img_file = open(os.getcwd()+"/python.png",'rb').read()
msg_img = MIMEImage(img_file)
msg_img.add_header('Content-Disposition','attachment', filename = "python.png")
msg_img.add_header('Content-ID', '<0>')
msg.attach(msg_img)
#使用循环,连续发送5次验证效果
for i in range(5):
try:
s = smtplib.SMTP_SSL(smtpserver,smtpport)
s.login(sender,authcode)
s.sendmail(sender,receivers,msg.as_string())
print('发送成功')
except Exception:
print('发送失败')
time.sleep(10)
本节案例麻烦的地方在于如何从邮件服务商处正常获得授权码,smtp服务器地址,端口等信息,耐心配置,您一定可以成功实现使用python在线发送邮件。
移动端设备除iPad Pro外,其它移动设备仅能阅读基础的文本文字。
建议使用PC或笔记本电脑,浏览器使用Chrome或FireFox进行浏览,以开启左侧互动实验区来提升学习效率,推荐使用的分辨率为1920x1080或更高。
我们坚信最好的学习是参与其中这一理念,并致力成为中文互联网上体验更好的学练一体的IT技术学习交流平台。
您可加QQ群:575806994,一起学习交流技术,反馈网站使用中遇到问题。
内容、课程、广告等相关合作请扫描右侧二维码添加好友。
建议使用PC或笔记本电脑,浏览器使用Chrome或FireFox进行浏览,以开启左侧互动实验区来提升学习效率,推荐使用的分辨率为1920x1080或更高。
我们坚信最好的学习是参与其中这一理念,并致力成为中文互联网上体验更好的学练一体的IT技术学习交流平台。

您可加QQ群:575806994,一起学习交流技术,反馈网站使用中遇到问题。
内容、课程、广告等相关合作请扫描右侧二维码添加好友。
狐狸教程 Copyright 2021