python 中使用yagmail 发送邮件功能

作者:小林同学_Scorpio 时间:2022-10-27 11:48:36 

1.使用前先要安装 yagmail

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

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

邮箱设置-->账户

python 中使用yagmail 发送邮件功能

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")

来源:https://www.cnblogs.com/xiaolintongxue1/p/15748830.html

标签:python,yagmail,发送邮件
0
投稿

猜你喜欢

  • python小项目之五子棋游戏

    2022-07-12 06:24:23
  • 详解如何使用vue-cli脚手架搭建Vue.js项目

    2023-07-02 17:05:19
  • Python 使用 PyQt5 开发的关机小工具分享

    2023-09-15 05:06:02
  • mysql优化的重要参数 key_buffer_size table_cache

    2024-01-16 03:01:52
  • python如何给内存和cpu使用量设置限制

    2021-03-04 00:43:00
  • python实现监控阿里云账户余额功能

    2022-08-19 23:43:32
  • python同时给两个收件人发送邮件的方法

    2021-10-23 07:31:36
  • 简单介绍Python中的struct模块

    2023-09-22 16:27:01
  • python编程测试电脑开启最大线程数实例代码

    2023-07-07 12:19:46
  • Python 正则 re.compile 真的必需吗

    2021-12-27 17:12:24
  • 无障碍网页应用 WAI-ARIA

    2009-11-16 12:32:00
  • C#自动创建数据库实现代码

    2024-01-17 14:18:03
  • 详解laravel安装使用Passport(Api认证)

    2023-11-19 02:08:54
  • python中if和elif的区别介绍

    2022-07-23 14:22:10
  • numpy.linalg.eig() 计算矩阵特征向量方式

    2022-11-04 05:27:00
  • 用python写一个定时提醒程序的实现代码

    2021-04-12 12:25:45
  • python使用docx模块读写docx文件的方法与docx模块常用方法详解

    2022-05-14 11:37:17
  • Anaconda入门使用总结

    2023-02-06 20:11:18
  • python绘图库Matplotlib的安装

    2023-09-26 19:32:22
  • 用Flash来作浏览历史功能

    2009-08-11 14:47:00
  • asp之家 网络编程 m.aspxhome.com