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

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

import yagmail

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

#邮箱正文,是一个列表

contents = [

"

一级标题

",#可以是html语言

'beauty.jpg',#可以是文件,以附件形式发送

# yagmail.inline('beauty.jpg'),# 这样的话,图片会内嵌到正文

'hello world', #可以是普通文本

]

yag.send(to = '接收方邮箱地址',subject ='测试',contents = contents)

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

7db6af151e6c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

运行结果:收到的邮件

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是在 Python 中使用 yagmail发送电子邮件的示例代码: ``` import yagmail # 登录到邮箱 yag = yagmail.SMTP('your_email@example.com', 'your_email_password') # 配置邮件内容 to = 'recipient@example.com' subject = '邮件主题' body = '邮件正文' # 发送邮件 yag.send(to=to, subject=subject, contents=body) ``` 在这段代码中,首先使用 `yagmail.SMTP` 函数登录到你的邮箱。然后,使用 `to` 变量指定邮件接收者的地址,使用 `subject` 变量指定邮件主题,使用 `body` 变量指定邮件正文。最后,调用 `yag.send` 函数即可发送邮件。 如果你想使用 JSON 格式的数据作为邮件正文,可以将 JSON 数据转换为字符串后赋值给 `body` 变量。例如: ``` import json data = {'key': 'value'} body = json.dumps(data) yag.send(to=to, subject=subject, contents=body) ``` 希望这些信息能帮到你。 ### 回答2: 要使用yagmail库在Python中生成发送邮件所需的json文件,可以按照以下步骤进行操作: 1. 导入相关库:首先需要导入yagmail库,以及json库用于生成json文件。可以使用以下代码导入: ```python import yagmail import json ``` 2. 创建yagmail对象:使用yagmail库的SMTP功能,需要创建一个yagmail对象,指定发件人的邮箱地址和密码。可以使用以下代码创建: ```python yag = yagmail.SMTP('your@email.com', 'yourpassword') ``` 3. 配置邮件信息:设置邮件的相关信息,包括收件人、主题、正文、附件等。可以使用以下代码进行配置: ```python to = 'recipient@example.com' subject = 'Test email' content = 'This is a test email sent using yagmail' attachment = '/path/to/attachment.pdf' ``` 4. 生成json文件:将邮件信息以json格式保存到文件中。可以使用以下代码生成json文件: ```python mail_info = { 'to': to, 'subject': subject, 'contents': content, 'attachments': attachment } with open('mail_info.json', 'w') as f: json.dump(mail_info, f) ``` 以上就是使用yagmail库在Python中生成发送邮件所需的json文件的步骤。可以根据具体需求进行配置和调整,以满足邮件的发送要求。json文件生成后,可以在需要发送邮件的代码中读取该文件,获取邮件信息并发送邮件。 ### 回答3: 使用yagmail发送邮件是一种方便、快捷的方式。要生成用yagmail发送邮件的JSON格式,首先需要将邮件相关的信息放入一个字典中,然后再转化为JSON格式。 首先,导入必要的库: ```python import yagmail import json ``` 然后,创建一个字典,包含邮件相关的信息: ```python mail_info = { "from": "发件人邮箱", "to": "收件人邮箱", "subject": "邮件主题", "contents": "邮件内容" } ``` 接下来,将字典转化为JSON格式: ```python json_data = json.dumps(mail_info) ``` 最后,使用yagmail发送邮件: ```python yag = yagmail.SMTP("发件人邮箱", "发件人授权码") yag.send(to=mail_info["to"], subject=mail_info["subject"], contents=mail_info["contents"]) ``` 以上就是生成用yagmail发送邮件的JSON格式的方法。通过将邮件信息放入字典中,并将字典转化为JSON格式,可以方便地管理和传递邮件相关的信息。使用yagmail发送邮件时,将JSON格式的邮件信息作为参数传入相关函数即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值