改版百度不收录网站,谷歌网站推广排名工具,前端wordpress后端python,网站备案 加急发送邮件这个功能非常实用#xff0c;比如你写了一个爬虫#xff0c;可以通过邮件来接收程序异常或者任务完成的通知#xff0c;再比如你搭了一个网站#xff0c;别人只需留下他的邮箱#xff0c;你就可以自动给他发送邮件。总之我觉得邮件通知非常适合那些处理批量、大量…发送邮件这个功能非常实用比如你写了一个爬虫可以通过邮件来接收程序异常或者任务完成的通知再比如你搭了一个网站别人只需留下他的邮箱你就可以自动给他发送邮件。总之我觉得邮件通知非常适合那些处理批量、大量任务你可以不用守在电脑前等待处理结果在程序里配置好邮件通知后只需留意邮箱通知就好了。下面我们一起来看看如何使用 python 来实现邮件发送邮件一般分为纯文本邮件、html 邮件、以及带附件邮件今天我们使用 python 来分别实现这三种邮件的发送。在 python 实现发送邮件需要两个模块分别是 smtplib 和 email这两个模块都是内置的不需要自己安装直接 import 导入即可。email 主要是用来构建邮件的比如邮件收发人、邮件标题、邮件正文以及附件啥的smtplib 则是用来发送邮件的。这里我们使用 qq 邮箱来作为发件邮箱在使用前需要简单的配置下 qq 邮箱。打开 qq 邮箱依次找到 设置 - 账户然后检查 POP3/SMTP 服 务是否开启。如果没开启则开启根据提示开启之后我们需要获取授权码这个授权码下面我们会要用到的这一步只要获取到授权码就行了。我们先来实现一个简单的纯文本邮件发送我这里只把一些关键的代码解释一下文章最后面再附上完整的源码。纯文本邮件首先就是使用 email 模块构建邮件plain 即代表文本邮件邮件构建完后再使用 smtplib 发送邮件。#构建纯文本邮件
from email.mime.text import MIMEText
from email.header import Header
msg MIMEText(我是邮件正文..., plain, utf-8) # plain 表示纯文本邮件
msg[From] 这里是发件者邮箱
msg[To] 这里是收件者邮箱
msg[Subject] Header(我是邮件的标题, utf-8) #邮件标题#使用smtplib模块发送邮件
email_client smtplib.SMTP(smtp.qq.com)
email_client.login(这里是发件者邮箱, 这里就是上面提到获取到的授权码)
email_client.sendmail(这里是发件者邮箱, 这里是收件件者邮箱, msg.as_string())
email_client.quit()
发送邮件的时候有两个需要注意的地方一个是 smtplib.SMTP 的邮件服务器设置。这里我们用的 qq 邮箱作为发件邮箱所以设置为 http://smtp.qq.com如果是其他邮箱如网易邮箱则需要设置为 http://smtp.163.com。再一个需要注意的就是 login 方法了这个登录方法里的第二个参数是指上面提到的授权码并不是你发件邮箱的登录密码。html 邮件html 邮件主要是可以给邮件内容定义更丰富的样式而且可以很方便的插入链接。html 邮件和纯文本邮件大同小异把完整的 html 内容作为文本内容就行再把 plain 改为 html 类型即可。#构建html邮件
content htmlbodyh3Hello,这是一封 html 邮件点击链接可以去看我的博客哈。/h3 pa hrefwww.weatherfood.com谭某人的博客/a/p /body/html
puretext MIMEText(content, html, utf-8)
附件邮件附件邮件稍微麻烦一些在构建邮件对象的时候就需要声明构建一个附件邮件对象msg MIMEMultipart()然后再添加 MIMEText 作为邮件正文最后再把 MIMEApplication 作为附件加入即可。完整源码最后我再附上一份完整的带图片附件且正文为 html 的邮件发送源码注意把源码中的发件邮箱改成你自己的邮箱并获取发件邮箱的授权码。# codingutf-8import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart #邮件发送函数
#SMTPHost 邮件服务器
#fromAccount 发件邮箱
#fromPasswd 发件邮件授权码注意并不是邮箱登录密码
#toAccount 收件邮箱
#subject 邮件标题
#content 邮件正文def sendMail(SMTPHost, fromAccount, fromPasswd, toAccount, subject, content): #构建邮件msg MIMEMultipart()msg[Subject] Header(subject, utf-8)msg[From] fromAccountmsg[To] toAccountcontent htmlbodyh3Hello,这是一封 html 邮件点击链接可以去看我的博客哈。/h3 pa hrefwww.weatherfood.com谭某人的博客/a/p /body/htmlpuretext MIMEText(content, html, utf-8)msg.attach(puretext)# 附件xlsxpart MIMEApplication(open(tim.jpg, rb).read()) #这里填写你自己目录下的附件文件xlsxpart.add_header(Content-Disposition, attachment, filenametim.jpg)msg.attach(xlsxpart)#使用smtplib模块发送邮件email_client smtplib.SMTP(SMTPHost)email_client.login(fromAccount, fromPasswd)email_client.sendmail(fromAccount, toAccount, msg.as_string())email_client.quit()#主函数
if __name__ __main__:sendMail(smtp.qq.com,********qq.com,#你的邮箱**********,#授权码playactors163.com,很开心你来看我的文章了欢迎关注哦。,文章中有疑问的地方欢迎留言与我联系哈感谢你的支持)
有问题欢迎在下面留言交流也欢迎关注如果觉得对你有帮助就点个赞吧感谢支持。