美文网首页officePython
Python使用yagmail库发送邮件

Python使用yagmail库发送邮件

作者: 刘小白DOER | 来源:发表于2021-07-19 21:04 被阅读0次

    接着上一篇文章,可用将监控信息发送给邮件中来实现一些告警监控。这一篇文章就来实践开源库yagmail库。

    先来个简单的测试。笔者使用的是163邮箱来发送邮件,注意需要进入邮箱开启SMTP服务,然后得到一个授权码,用于登录第三方邮件客户端的专用密码。那么 password替换为授权码即可。官网上有库的详细说明yagmail · PyPI 。

#导入发送邮件API

import yagmail

#链接邮箱服务器

yag = yagmail.SMTP(user="****@163.com", password="****", host='smtp.163.com')

#添加邮件标题

subject = "这是一个测试邮件"

# 邮箱正文

contents = '测试邮件内容'

#添加发送人

email_name = ['****@qq.com','****@163.com']

# 发送邮件

yag.send(email_name, subject, contents)

#关闭链接 

yag.close()

        如果调试时出现错误,一般就是三个方面的问题:安装yagmail库,smtp服务没开启,邮箱授权码要写对。

    但是笔者在上一篇文章-Python使用psutil库监控服务器 的程序中发送邮件时一直存在告警,开始以为是库安装问题,切换root用户安装还是存在问题。有问题代码如下:

    花费时间找了一圈才解决两个问题。

    1、port=25

    指定端口25时会发送失败,查看site-packages下的源码才知道端口号邮件不是25了。

    2、encode('utf-8')

    encode转码返回的是bytes类型的数据,而不是要求的str类型,直接删除即可。

    其他使用方法。

   1、 查看yagmail库的github使用说明,yagmail库可以指定链接以及加载图片,比如

    yag.send(to=to,subject=subject,contents=[body,html,img])

    2、还可以增加附件,比如

     yag.send(to=recipients,subject=email_subject,contents=contents,attachments=       ['path/to/attachment1.png','path/to/attachment2.pdf'])

    3、同时,直接在代码里写明文的密码显然是不安全的,推荐使用 keyring。如果你是虚拟环境使用keyring的话,pypi官网上有信息配置资料。

4、使用上下文管理器进一步优化关闭链接的逻辑

相关文章

  • Linux中通过SHELL发送邮件

    笔者做过做过使用python发送邮件-Python使用yagmail库发送邮件[https://www.jia...

  • Python使用yagmail库发送邮件

    接着上一篇文章,可用将监控信息发送给邮件中来实现一些告警监控。这一篇文章就来实践开源库yagmail库。 ...

  • python发送邮件库yagmail

    出处:虫师python自动发邮件库yagmail 一般发邮件方法 我以前在通过Python实现自动化邮件功能的时候...

  • Python3 发送邮件

    Python3 发送邮件 使用第三方库 yagmail 更新: 第三种方式的隐藏用户名和密码的方式,目前不再支持 ...

  • python利用yagmail模块很轻松的发送邮件

    1) 安装yagmail 2) 获取发送邮件账号的密码(我使用的是qq邮箱) 3) 发送邮件

  • python利用yagmail发送邮件

    python发送邮件是利用smtplib库,之前操作少玩有点浮躁,找到一个更简单的yagmail。下面说说具体怎么...

  • python发送邮件

    常用邮箱SMTP服务器地址和端口")常用邮箱SMTP服务器地址和端口 一. yagmail邮件发送库使用详解 使用...

  • python--发送邮件yagmail

    yagmail模块是python中用来发送邮件的第三方模块,简单快速。 环境 python3.9 win10 64...

  • python 学习笔记 (邮件)

    yagmail 实现发邮件 安装 简单例子 SMTP 发送邮箱 通过python发邮件步骤:前提是:开通了第三方授...

  • Python—Email

    Python自动发送邮件,使用到python内置库email和 smtplib协议库。 运行结果: G:\Ana...

网友评论

    本文标题:Python使用yagmail库发送邮件

    本文链接:https://www.haomeiwen.com/subject/mcwhmltx.html