iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python发送邮件的几种常用方法
  • 131
分享到

python发送邮件的几种常用方法

python开发语言 2023-09-02 10:09:40 131人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

第一种是最常见的,smtp发送 import smtplibimport sysimport tracebackfrom email.mime.text import MIMETextfrom email.mime.multipart im

第一种是最常见的,smtp发送

import smtplibimport sysimport tracebackfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipartimport osdef sendEmail(mail_sender, to_list, sub, content, attach_list = [], _subtype="html"):    """    使用smtp发送邮件    :param mail_sender: 发件人    :param to_list: 收件人列表,用,间隔    :param sub: 主题    :param content: 内容    :param attach_list:附件    :param _subtype: 读取内容用的方式,不传html的话改成plain    :return:    """    msg = MIMEMultipart()    msg['subject'] = sub    msg['From'] = mail_sender    msg['To'] = to_list    try:        msg.attach(MIMEText(content, _subtype,'utf-8')) #用html的方法是更方便于Word文档作为内容发送,可以先讲word转换成html,然后写入其中        s = smtplib.SMTP('123.com', 25)        # s.login()        s.starttls()        if attach_list:            for att_path in attach_list:                path_arr = att_path.split(os.path.sep)                file_name = path_arr[len(path_arr) - 1]                att1 = MIMEText(open(att_path,'rb').read(), 'base64','utf-8')                att1.add_header('Content-Disposition', 'attachment', filename=file_name) #用这个方法可以避免附件乱码                msg.attach(att1)        s.sendmail(mail_sender, to_list.split(u','), msg.as_string())        s.close()        print("999921||业务数据处理||邮件发送成功")        return True    except Exception as e:        sys.stderr.write("999931||{}".fORMat(traceback.format_exc(limit=None, chain=True)))        sys.stderr.write("0001")        return False

第二种是用outlook发送的,这个大家借鉴使用

import osfrom time import sleepimport autoit as auimport win32com.clientclass OutlookUtills:    def __init__(self):        outlook = win32com.client.Dispatch("outlook.Application ")# outlook.Visible = True        self.mail = outlook.CreateItem(0)        self.mail.Display()    def sendEmail(self, addressee, subiect, AttachmentsPath=[], body=None):        """        若body为默认值None则自动粘贴剪切板中内容进行发送        :param addressee: 收件人        :param subiect: 主题        :param AttachmentsPath: 附件名称        :param body: 正文        :return:        """        self.mail. To = addressee        self.mail.subject = subiect        if AttachmentsPath == []:            print("该邮件无附件")        else:            for Attachments in AttachmentsPath:                self.mail.Attachments.Add(Attachments)                print("地址:{},附件添加成功!!")        sleep(2)        if body == None:            self.mail.body = ""            au.send('^v')            print("正文已从剪切板拷贝")        else:            self.mail.body = body            print("正文由函数进行输入")        sleep(1)        self.mail.Send()if __name__ == '__main__':    my_outlook = OutlookUtills()

第三种是正文需要用到表格的,我在这里给大家一个示例,具体表格怎么改自行发挥

import smtplibfrom email.mime.text import MIMETextfrom email.header import Headerclass Mail:    def __init__(self):        # 第三方 SMTP 服务        self.mail_host = "smtp.qq.com"  # 填写邮箱服务器:这个是qq邮箱服务器,直接使用smtp.qq.com        self.mail_pass = "ahlwsnkajalubeif"  # 填写在qq邮箱设置中获取的授权码        self.sender = '1004983289@qq.com'  # 填写邮箱地址        self.receivers = ['tianyi.zhang@kingstarfintech.com']  # 填写收件人的邮箱,QQ邮箱或者其他邮箱,可多个,中间用,隔开    def send(self):        self.mail_host = "smtp.qq.com"  # 填写邮箱服务器:这个是qq邮箱服务器,直接使用smtp.qq.com        self.mail_pass = "ahlwsnkajalubeif"  # 填写在qq邮箱设置中获取的授权码        self.sender = '1004983289@qq.com'  # 填写邮箱地址        self.receivers = ['tianyi.zhang@kingstarfintech.com']  # 填写收件人的邮箱,QQ邮箱或者其他邮箱,可多个,中间用,隔开        insert = "152371200010240002潘金莲tar152371200010240002.tar20220426-1545否152371200010240002潘金莲tar152371200010240002.tar20220426-1545否"        head = \            """                                                                    """        body = \            """                        

表格中的数据为当天云开户信息下载及CRM上传情况


掌厅不存在身份证不一致情况

身份证号姓名文件类型文件名上传时间是否上传成功

""".format(insert) html_msg = "" + head + body + "" html_msg = html_msg.replace('\n', '').encode("utf-8") message = MIMEText(html_msg, 'html', 'utf-8') message['From'] = Header("小胖子xpp", 'utf-8') #邮件发送者姓名 message['To'] = Header("小胖子xpp", 'utf-8') #邮件接收者姓名 subject = '测试' #发送的主题 message['Subject'] = Header(subject, 'utf-8') try: smtpObj = smtplib.SMTP_SSL(self.mail_host, 465) #建立smtp连接,qq邮箱必须用ssl边接,因此边接465端口 smtpObj.login(self.sender, self.mail_pass) #登陆 smtpObj.sendmail(self.sender, self.receivers, message.as_string()) #发送 smtpObj.quit() print('发送成功!!') except smtplib.SMTPException as e: print('发送失败!!')if __name__ == '__main__': mail = Mail() mail.send()

来源地址:https://blog.csdn.net/z1004983289/article/details/129364699

--结束END--

本文标题: python发送邮件的几种常用方法

本文链接: https://www.lsjlt.com/news/390564.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python发送邮件的几种常用方法
    第一种是最常见的,smtp发送 import smtplibimport sysimport tracebackfrom email.mime.text import MIMETextfrom email.mime.multipart im...
    99+
    2023-09-02
    python 开发语言
  • c# 两种发送邮件的方法
    目录一、两种发送邮件的方法二、遇到的问题 三、示例System.Web.MailSystem.Net.Mail一、两种发送邮件的方法 有用到两种方式发邮件,一种是用Syst...
    99+
    2024-04-02
  • 最全总结!聊聊 Python 发送邮件的几种方式
    1. 前言 邮件,作为最正式规范的沟通方式,在日常办公过程中经常被用到 我们都知道 Python 内置了对 SMTP 的支持,可以发送纯文本、富文本、HTML 等格式的邮件 本文将聊聊利用 Pytho...
    99+
    2023-09-23
    python windows 开发语言 服务器 excel 学习 python开发
  • asp.net发邮件的几种方法汇总
    在ASP.NET中,有多种方法可以发送电子邮件:1. 使用System.Net.Mail命名空间中的SmtpClient类:这是发送...
    99+
    2023-09-14
    asp.net
  • Asp.net发送邮件的两种方法小结
    在ASP.NET中,发送邮件有两种常见的方法:1. 使用SMTP客户端发送邮件:这是一种基本的方法,使用SMTP客户端来发送邮件。首...
    99+
    2023-08-11
    Asp.net
  • python实现发送邮件的方法
    这篇文章将为大家详细讲解有关python实现发送邮件的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.设置邮箱,如下图所示2.设置过程如下图所示:设置完成后,添加如下代码:# coding...
    99+
    2023-06-06
  • Python实现各种邮件发送
    目录一、发送纯文本内容二、发送附件图片三、发送纯文本附件四、发送excel表格附件前言: Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。 Pyt...
    99+
    2024-04-02
  • Python基于SMTP发送邮件的方法
    目录构建消息对象发送邮件要点在很多时候,使用 Python 发送邮件可能没有办法使用邮件服务器提供的 API,因为不是所有的邮件服务商都会提供 API 供客户使用的。 通常使用邮件 ...
    99+
    2024-04-02
  • React中使用axios发送请求的几种常用方法
    目录React中安装并引入axios依赖 使用axios进行GET请求 使用axios.get方式 使用axios(config {...}) 使用axios进行POST请求 使用a...
    99+
    2024-04-02
  • 如何理解VB.NET发送邮件的两种方法
    今天就跟大家聊聊有关如何理解VB.NET发送邮件的两种方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。VB.NET功能非常强大,程序界面标准,可以帮助程序员提高开发效率。它能够支持...
    99+
    2023-06-17
  • python下载文件的几种常用方法
    python中下载文件常用的几个模块有urllib,urllib2,requests,方法也很简单,代码如下:# Python 2 code import urllib import urllib2 import requests     ...
    99+
    2023-01-31
    几种 常用 文件
  • zabbix用python发送邮件
    !/usr/bin/pythoncoding: utf-8import smtplibimport sysfrom email.mime.text import MIMEText_user = "12345678@qq.com"_pwd ...
    99+
    2023-01-31
    发送邮件 zabbix python
  • restymail的简单发送邮件方法
    目录1.配置MailPlugin插件2.发送普通的文本邮件3.发送html邮件4.发送附件邮件1. 配置MailPlugin插件 public void configPlugin(P...
    99+
    2024-04-02
  • 使用SpringBoot发送邮件的方法详解
    目录第一步,导jar包第二步,申请email授权密码第三步,编写yml文件第四步,编写工具类第五步,编写controller类第六步,测试第一步,导jar包 <!--E...
    99+
    2023-05-19
    SpringBoot发送邮件 SpringBoot邮件
  • PHP邮件发送类PHPMailer的使用方法
    本篇内容主要讲解“PHP邮件发送类PHPMailer的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP邮件发送类PHPMailer的使用方法”吧!PHPMailer是一个专门用于ph...
    99+
    2023-06-17
  • python 使用stmp发送邮件
    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp...
    99+
    2023-01-31
    发送邮件 python stmp
  • Python 使用Gmail发送邮件
    前言:2014-05-22记录在hi baidu上,现在移过来 使用python向gmail发邮件 """ 发送邮件 1: 需要提供发送者的邮件、密码;接收者地址; 2:步骤: a:Logi...
    99+
    2023-01-31
    发送邮件 Python Gmail
  • 使用python发送html邮件
    说明:   最近一直在忙着业务迁移工作,己经有些日子没有写东西了,虽然写的很渣,还好是将功能实现了。#!/usr/bin/env python #coding:utf8   import smtplib from email.mime.te...
    99+
    2023-01-31
    邮件 python html
  • springboot 使用QQ邮箱发送邮件的操作方法
    目录一、QQ邮箱打开POP3/SMTP服务二、springboot配置一、QQ邮箱打开POP3/SMTP服务 上面的服务开启后,会得到一串授权密码在springboot配置中需...
    99+
    2024-04-02
  • 怎么用Python发送邮件
    本篇内容主要讲解“怎么用Python发送邮件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python发送邮件”吧!Python使用SMTP发送邮件SMTP(Simple Mail Tra...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作