Python通过yagmail实现发送邮件代码解析

之前使用email模块+smtplib模块发送邮件,虽然可以实现功能,但过程比较繁琐,今天发现一个宝藏库(yagmail),可以说是炒鸡好用啦!!!

贴上实现代码,大家细品

yagmail安装

pip install yagmail

封装邮件发送服务:

import yagmail

class SendEmail:
  def __init__(self, receiver,subject=None,contents=None,attachment=None):
    """

    :param receiver: 收件人
    :param attachment: 附件
    :param contents: 正文
    :param subject: 标题
    """
    self.receiver = receiver
    self.attachment = attachment
    self.contents = contents
    self.subject = subject

  def send_email(self):
    # 链接邮箱服务器
    yag = yagmail.SMTP(user="29xxx959@qq.com", password="授权码", host='smtp.qq.com')

    # 发送邮件
    yag.send(to=self.receiver, subject=self.subject, contents=self.contents, attachments=self.attachment)

测试发送(带附件):

pro_dir = os.getcwd()
report = os.path.join(pro_dir, r'ApiReport_2020_06_28 16_31_00.html')
send = SendEmail('864xxx590@qq.com','ceshifasong', '测试', report)send.send_email()

*收件人可使用列表,同时发送给多个邮箱*

接收到的邮件:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python自动发邮件库yagmail的示例代码

    之前使用的python的smtplib.email模块发模块的一步步骤是: 一.先导入smtplib模块  导入MIMEText库用来做纯文本的邮件模板 二.发邮件几个相关的参数,每个邮箱的发件服务器不一样,以126为例子百度搜索服务器是  smtp.126.com 三.写邮件主题和正文,这里的正文是HTML格式的 四.最后调用SMTP发件服务 一般发邮件方法 我以前在通过Python实现自动化邮件功能的时候是这样的: import smtplib from email.mime.text im

  • 利用Python yagmail三行代码实现发送邮件

    Python 发送邮件 我以前在通过Python实现自动化邮件功能的时候是这样的: import smtplib from email.mime.text import MIMEText from email.header import Header # 发送邮箱服务器 smtpserver = 'smtp.sina.com' # 发送邮箱用户/密码 user = 'username@sina.com' password = '123456' # 发送邮箱 sender = 'username@

  • Python自动发送和收取邮件的方法

    作为课代表,经常要做的两件事是:帮忙发作业和帮忙收作业,而且很多时候是通过邮件来完成的,如果手动一封一封的收取和发送就很浪费时间--人生苦短,我用Python. 直接上代码,不想了解细节原理直接拉到最后,我封装成了两个函数,根据提示,输入参数,直接调用就行.亲测可行 不想看细节这部分可以直接跳过,但是运行的时候要把这一块也粘贴进去. 导入相关库 import smtplib,ssl from email.mime.multipart import MIMEMultipart from email

  • python实现邮件循环自动发件功能

    发邮件是一种很常见的操作,本篇主要介绍一下如何用python实现自动发件. import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header import Header from email.mime.image import MIMEImage import time mail_host="smtp.126.com"

  • python使用QQ邮箱实现自动发送邮件

    最近用到Python自动发送邮件,主要就是三步,登录邮件.写邮件内容.发送,用到的库是 smtplib 和 email,直接使用pip安装即可 我使用的是QQ邮箱,首先需要设置QQ邮箱POP3/SMTP服务 记住这个授权码,这个授权码就是Python脚本中登录邮箱时的密码,而不是你平时登录邮箱时的那个密码 一.发送普通文本邮件 #发送多种类型的邮件 from email.mime.multipart import MIMEMultipart msg_from = '1508691067@qq.c

  • Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)

    T00ls 每日签到是可以获取 TuBi 的,由于常常忘记签到,导致损失了很多 TuBi .于是在 T00ls 论坛搜索了一下,发现有不少大佬都写了自己的签到脚本,签到功能实现.定时任务执行以及签到提醒的方式多种多样,好羡慕啊.所以这里国光也尝试借鉴前辈们的脚本,尝试整合一个自己的自动签到脚本,因为国光有自己的服务器,所以打算使用 Linux 下的 crontab 来定时执行任务,提醒的话使用钉钉和邮件提醒基本上可以满足我的使用需求了,话不多说,下面开始脚本的编写吧. 基础签到 写代码功能得慢慢

  • python 利用zmail库发送邮件

    一:Zmail的优势: 1:自动填充大多数导致服务端拒信的头信息(From To LocalHost之类的) 2:将一个字典映射为email,构造信件就像构造字典一样简单 3:自动寻找邮件服务商端口号地址,自动选择合适的协议(经过认证的) 4:只依赖于python3,嵌入其他项目时无需烦恼 二:安装zmail pip install zmail 三:使用zmail 1:发送邮件 import zmail mail_content = { 'subject':'Success',#主题 'cont

  • Python发送邮件实现基础解析

    一.python邮件模块简介 email模块属于内置模块,用来自定义邮件的中文.主题.日期.附件等信息: smtplib模块属于内置模块,它对smtp协议进行了简单的封装,能实现邮件发送. 二.邮件发送步骤 创建SMTP的操作对象并连接smtp目标服务器,可以是163.QQ等 使用自己的账号登录目标服务器(自己的邮箱地址和邮箱授权码) 调用对象中的方法,发送邮件到目标地址 示例代码如下: import smtplib server = smtplib.SMTP() smtp.connect(sm

  • PYTHON发送邮件YAGMAIL的简单实现解析

    这篇文章主要介绍了PYTHON发送邮件YAGMAIL的简单实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 yagmail发送邮件只需要3行代码就可以搞定,首先安装yagmail:pip install yagmail demo如下: # todo 导入邮件服务器 import yagmail sender = '148908761@qq.com' # 发送人邮箱账号 password = 'ersbmrvcnscebab' # 发送人邮

  • Python通过yagmail实现发送邮件代码解析

    之前使用email模块+smtplib模块发送邮件,虽然可以实现功能,但过程比较繁琐,今天发现一个宝藏库(yagmail),可以说是炒鸡好用啦!!! 贴上实现代码,大家细品 yagmail安装 pip install yagmail 封装邮件发送服务: import yagmail class SendEmail: def __init__(self, receiver,subject=None,contents=None,attachment=None): """ :par

  • python使用logging模块发送邮件代码示例

    logging模块不只是能记录log,还能发送邮件,使用起来非常简单方便 #coding=utf-8 ''''' Created on 2016-3-21 @author: Administrator ''' import logging, logging.handlers class EncodingFormatter(logging.Formatter): def __init__(self, fmt, datefmt=None, encoding=None): logging.Format

  • Python断言assert的用法代码解析

    在开发一个程序时候,与其让它运行时崩溃,不如在它出现错误条件时就崩溃(返回错误).这时候断言assert 就显得非常有用. python assert断言是声明布尔值必须为真的判定,如果发生异常就说明表达式为假. 可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常. assert的语法格式: assert expression 它的等价语句为: if not expression: raise AssertionError 这段代码用来检测数据类型

  • Python request设置HTTPS代理代码解析

    之前版本的代理中,可以使用fiddler进行HTTP包的代理,但是代理HTTPS包时,执行错误 self._sslobj.do_handshake() ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) urllib或requests在打开https站点是会验证证书,简单的处理方式就是把发送https请求时把验证ssl证书关掉,即设置verify为False 具体代码设置如:

  • Python之reload流程实例代码解析

    本文研究的主要是Python之reload流程的相关内容,具体如下. 在Python中,reload() 用于重新载入之前载入的模块. reload() 函数语法: reload(module) Python中 import 只执行一次,后续的 import 仅仅在 sys.modules 中查找是否存在对应的模块对象,而对于源文件进行修改后想要立即重新导入该文件而不想整体重新执行程序时, reload 就在该处派上用途了.在实际中,测试代码修改结果,或者对于不能停止的服务需要动态改变运行行为

  • 基于python SMTP实现自动发送邮件教程解析

    最近工作中的一个项目需要自动发送一些信息邮件到指定邮箱的需求,那么如何实现Python自动发送邮件的功能呢?接下来我们就来简单的介绍下如何利用Python来实现自动发送邮件的功能. Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议 ,说白了就是发送邮件的协议,python的smplib库对SMTP协议进行了简单的封装,提供了对SMTP的支持,可以发送纯文本邮件.HTML文件以及带附件的邮件. 首先我们构建一个SendEmai

  • python email smtplib模块发送邮件代码实例

    本例使用 QQ邮箱测试,需要打开 QQ邮箱的 smtp协议,获取授权码 代码内容如下: #!/usr/bin/env python # _*_ coding:utf-8 _*_ __author__ = 'junxi' import smtplib from email.mime.text import MIMEText # 文本模式 # msg = MIMEText('send by python...', 'plain', 'utf-8') # html 格式 msg = MIMEText(

  • Python基于smtplib模块发送邮件代码实例

    smtplib模块负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容). email模块负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等. email模块下有mime包,mime英文全称为"Multipurpose Internet Mail Extensions",即多用途互联网邮件扩展,是目前互联网电子邮件普遍遵循的邮件技术规范. 该mime包下常用的有三个模块:text,image,multpart.

  • Python存储读取HDF5文件代码解析

    HDF5 简介 HDF(Hierarchical Data Format)指一种为存储和处理大容量科学数据设计的文件格式及相应库文件.HDF 最早由美国国家超级计算应用中心 NCSA 开发,目前在非盈利组织 HDF 小组维护下继续发展.当前流行的版本是 HDF5.HDF5 拥有一系列的优异特性,使其特别适合进行大量科学数据的存储和操作,如它支持非常多的数据类型,灵活,通用,跨平台,可扩展,高效的 I/O 性能,支持几乎无限量(高达 EB)的单文件存储等,详见其官方介绍:https://suppo

  • Python读写锁实现实现代码解析

    起步 Python 提供的多线程模型中并没有提供读写锁,读写锁相对于单纯的互斥锁,适用性更高,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁. 通俗点说就是当没有写锁时,就可以加读锁且任意线程可以同时加:而写锁只能有一个线程,且必须在没有读锁时才能加上. 简单的实现 import threading class RWlock(object): def __init__(self): self._lock = threading.Lock() self._extra = t

随机推荐