python发送邮件可以如此简单--yagmail

之前, 用python发送邮件采用的是原生的smtplib和email库, 用着不怎么舒服. 如果要添加附件的话, 还需要自己设置MIME, 代码最少也会有十多行, 太不方便了. 今天查到有个yagmail库, 可以很优雅的处理这个问题.

import yagmail
yag = yagmail.SMTP(user='[email protected]', password='授权码',host='smtp.qq.com')#参数为发送邮箱, 邮箱密码(授权码), 发送邮箱服务器

#邮箱正文,是一个列表
contents = [
            "

一级标题

",#可以是html语言 'beauty.jpg',#可以是文件,以附件形式发送 # yagmail.inline('beauty.jpg'),# 这样的话,图片会内嵌到正文 'hello world', #可以是普通文本 ] yag.send(to = '接收方邮箱地址',subject ='测试',contents = contents)

yagmail最方便之处在于能够自动判断contents类型, 列表的每个元素会被依次分析, 先判断是否为文件, 如果是文件, 则置于附件中发送(文件可以是相对路径, 也可以填写绝对路径). 不是文件的话, 则会再次判断是否为html语言, 是的话, 能够在正文中被浏览器渲染. 如果上面的情况都不成立, 则当作普通文本, 置于邮件正文. 上面的代码运行结果如下:


运行结果:收到的邮件

注意: 如果采用 yagmail.inline处理contents中的图片元素, 则图片会被内嵌到邮件正文, 不会变成附件传输.

你可能感兴趣的:(python发送邮件可以如此简单--yagmail)