网络编程
位置:首页>> 网络编程>> Python编程>> python 中使用yagmail 发送邮件功能

python 中使用yagmail 发送邮件功能

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

标签:python,yagmail,发送邮件

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

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com