python 中使用yagmail 发送邮件功能

1.使用前先要安装 yagmail

pip install yagmail -i https://pypi.douban.com/simple

2.使用QQ邮箱发送邮件,使用的是授权码,需要先到QQ邮箱申请授权码。

邮箱设置-->账户

3.yagmail 模块发送邮件更加简单,四行代码

# -*- encoding: utf-8 -*-

import yagmail

def E_mali_jj(fr,key,etype,text,to,attachments):
    '''
    :param fr: 发送邮箱
    :param key: 授权码
    :param etype: 邮件类型
    :param text: 文本
    :param to: 接受邮箱
    :param attachments: 附件文件地址,空则填''
    :return:
    '''
   # 链接邮箱服务器
    yag=yagmail.SMTP(user=fr,password=key,host=etype)
    # 邮箱正文
    contents=[text]
    # 发送邮件
    yag.send(to=to,subject='邮件标题',contents=contents,
             attachments=attachments)   #subject 标题
    yag.close()
    print("邮件发送成功")

if __name__ == '__main__':
    E_mali_jj("123456@qq.com",
              "gwheybuaamrqbihh",
              'smtp.qq.com',
              "邮件正文内容",
              "123456@qq.com",
              "E:\\proto_code\\Roshan-01-microscript-proto_test-master-src\\src\\report\\report.html")

邮件发送给多个人,将接受的邮箱放在列表中即可

# 发送邮件
yag.send(to = ['123456@qq.com','678910@qq.com', '10111213@qq.com'], subject='subject', contents = contents, attachments="")

4.发送邮件带附件

# -*- coding:utf-8 -*-
import yagmail

yag = yagmail.SMTP( user="157540957@qq.com",
                    password="kayzilfyziulbhbb1",
                    host='smtp.qq.com')
"""
user:      发送的邮箱
password: 授权码
"""
# 邮箱正文
contents = ['测试发送邮件']
# 附件
attachments = "D:\\code\\0906\\api_test009\\report\\report.html"
# 发送邮件
try:
    yag.send(to = '3437871062@qq.com',
             subject='subject',
             contents = contents,
             attachments=attachments)

except Exception as e :
    print("Error: 抱歉!发送邮件失败。", e)
"""
to : 接收者
subject : 邮件主题
contents: 正文
attachments: 附件
"""

yag.close()

5.封装

# -*- coding:utf-8 -*-
import yagmail

def send(user, password, receiver):
    yag = yagmail.SMTP( user=user,
                        password=password,
                        host='smtp.qq.com')
    """
    user:      发送的邮箱
    password: 授权码
    """
    # 邮箱正文
    contents = ['测试发送邮件']
    # 附件
    attachments = "D:\\code\\0906\\api_test009\\report\\report.html"
    # 发送邮件
    try:
        yag.send(to=receiver,
                 subject='subject',
                 contents = contents,
                 attachments=attachments)

    except Exception as e :
        print("Error: 抱歉!发送邮件失败。", e)
    """
    to : 接收者
    subject : 邮件主题
    contents: 正文
    attachments: 附件
    """

    yag.close()

if __name__ == '__main__':
    send("123456@qq.com", "kayzilfyziulbhbb1", "45678910@qq.com")

到此这篇关于python 中使用yagmail 发送邮件的文章就介绍到这了,更多相关python yagmail 发送邮件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

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

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

  • 利用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通过yagmail实现发送邮件代码解析

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

  • python 中使用yagmail 发送邮件功能

    1.使用前先要安装 yagmail pip install yagmail -i https://pypi.douban.com/simple 2.使用QQ邮箱发送邮件,使用的是授权码,需要先到QQ邮箱申请授权码. 邮箱设置-->账户 3.yagmail 模块发送邮件更加简单,四行代码 # -*- encoding: utf-8 -*- import yagmail def E_mali_jj(fr,key,etype,text,to,attachments): ''' :param fr: 发

  • Python中的探索性数据分析(功能式)

    这里有一些技巧来处理日志文件提取.假设我们正在查看一些Enterprise Splunk提取.我们可以用Splunk来探索数据.或者我们可以得到一个简单的提取并在Python中摆弄这些数据. 在Python中运行不同的实验似乎比试图在Splunk中进行这种探索性的操作更有效.主要是因为我们可以无所限制地对数据做任何事.我们可以在一个地方创建非常复杂的统计模型. 理论上,我们可以在Splunk中做很多的探索.它有各种报告和分析功能. 但是... 使用Splunk需要假设我们知道我们正在寻找什么.在

  • Python中的groupby分组功能的实例代码

    pandas中的DataFrame中可以根据某个属性的同一值进行聚合分组,可以选单个属性,也可以选多个属性: 代码示例: import pandas as pd A=pd.DataFrame([['Beijing',1.68,2300,'city','Yes'],['Tianjin',1.13,1293,'city','Yes'],['Shaanxi',20.56,3732,'Province','Yes'],['Hebei',18.77,7185,'Province','No'],['Qing

  • python中adb有什么功能

    ADB是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备. ADB主要功能有: 1.在Android设备上运行Shell(命令行) 2.管理模拟器或设备的端口映射 3.在计算机和设备之间上传/下载文件 4.将电脑上的本地APK软件安装至Android模拟器或设备上 python有两种方式去调用adb命令,一种是os.system(),一种是os.popen(). 两者的区别就是前者无法获取到返回值,后者可以获取到返回值. os.po

  • 使用spring框架中的组件发送邮件功能说明

    Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅仅限于服务器端的开发.从简单性.可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益. 首先进入自己的QQ邮箱,在设置中修改账户信息 然后来至底部 点击开启,再用手机发送对应信息到指定号码,然后点击我已发送 获取授权码 注意提示: 到这里,相信你已经开通了SMTP服务,这样就可以在java code发送邮件了 接下来的是S

  • 浅析Python中MySQLdb的事务处理功能

    前言 任何应用都离不开数据,所以在学习python的时候,当然也要学习一个如何用python操作数据库了.MySQLdb就是python对mysql数据库操作的模块.今天写了个工具,目的是把csv中的数据插入到数据库中去.其中有一部分,是需要分别向两张表中插入两条数据,如果第二张表中的数据已经存在,那么第一张表中的数据也不需要插入. 然后通过百度查找发现,其实MySQLdb库,自带了事务处理的功能,pymysql库也是一样. conn = MySQLdb.connect()返回一个连接对象 cu

  • python中随机函数random用法实例

    本文实例讲述了python中随机函数random用法.分享给大家供大家参考.具体如下: python中的random模块功能非常强大,可以生成各种随机值 #! python # random import random print random.choice(['apple', 'pear', 'banana']) #从数组中随机选择一个元素 print random.sample(xrange(100), 10) # sampling without replacement print ran

  • Go 中 slice 的 In 功能实现探索

    之前在知乎看到一个问题:为什么 Golang 没有像 Python 中 in 一样的功能?于是,搜了下这个问题,发现还是有不少人有这样的疑问. 今天来谈谈这个话题. in 是一个很常用的功能,有些语言中可能也称为 contains,虽然不同语言的表示不同,但基本都是有的.不过可惜的是,Go 却没有,它即没有提供类似 Python 操作符 in,也没有像其他语言那样提供这样的标准库函数,如 PHP 中 in_array. Go 的哲学是追求少即是多.我想或许 Go 团队觉得这是一个实现起来不足为道

  • Python中时间datetime的处理与转换用法总结

    python中日期类datetime功能比较强大,使用起来很方便,把常用的两种用法总结如下: from datetime import datetime from datetime import timedelta # 日期格式转换为字符串 NOW = datetime.now() TODAY = NOW.strftime("%Y%m%d") YESTERDAY = (NOW -timedelta(days=1)).strftime("%Y%m%d") # 字符串转

  • 对python中list的五种查找方法说明

    Python中是有查找功能的,五种方式:in.not in.count.index,find 前两种方法是保留字,后两种方式是列表的方法. 下面以a_list = ['a','b','c','hello'],为例作介绍: string类型的话可用find方法去查找字符串位置: a_list.find('a') 如果找到则返回第一个匹配的位置,如果没找到则返回-1,而如果通过index方法去查找的话,没找到的话会报错. 补充知识:Python中查找包含它的列表元素的索引,index报错!!! 对于

随机推荐