精华内容
下载资源
问答
  • 2020-12-02 13:25:45

    之前在工作中需要用到自动查收邮件和下载附件,于是用python做了一些自动化的尝试。以下代码主要实现了两个功能,一个是下载并解码邮件正文(print_info函数),另一个是下载邮件附件(get_att函数)。所有代码都已在python3.6下运行通过,不过需要修改自己邮箱的账号密码、邮箱服务器、附件保存地址。

    from email.parser import Parser

    from email.header import decode_header

    from email.utils import parseaddr

    import email

    import poplib

    #python邮件读取

    def guess_charset(msg):

    charset = msg.get_charset() #获取msg编码方式

    if charset is None:

    content_type = msg.get('Content-Type', '').lower() #获取内容类型字符串

    pos = content_type.find('charset=') #内容类型中查找“charset=”字符串的位置

    if pos >= 0:

    charset = content_type[pos + 8:].strip() #若存在上述字符串,则返回内容类型

    return charset

    def decode_str(s):

    value, charset = decode_header(s)[0] #Returns a list of (string, charset) pairs

    if charset:

    value = value.decode(charset)

    return value

    def get_att(msg, fpath):

    attachment_files = []

    for part in msg.walk():

    file_name = part.get_filename()#获取附件名称类型

    contType = part.get_content_type()

    if file_name:

    h = email.header.Header(file_name)

    dh = email.header.decode_header(h) #对附件名称进行解码,

    #Returns a list of (string, charset) pairs containing each of the decoded parts of the header

    filename = dh[0][0]

    if dh[0][1]:

    filename = decode_str(str(filename,dh[0][1]))#将附件名称可读化

    print(filename)

    #filename = filename.encode("utf-8")

    data = part.get_payload(decode=True)#下载附件

    attachment_files.append(filename)

    with open(fpath + filename, 'wb') as att_file: #在指定目录下创建文件,注意二进制文件需要用wb模式打开

    att_file.write(data) #保存文件

    return attachment_files

    def print_info(msg, indent=0):

    if indent == 0:

    for header in ['From', 'To', 'Subject']:

    value = msg.get(header, '')

    if value:

    if header=='Subject':

    value = decode_str(value)

    else:

    hdr, addr = parseaddr(value) #根据地址返回一个realname和email address组成的元组

    name = decode_str(hdr)

    value = u'%s ' % (name, addr) #u指后面字符串以Unicode格式进行编码。该代码指按照前边格式组织后边两个数据

    print('%s%s: %s' % (' ' * indent, header, value))

    if (msg.is_multipart()):

    parts = msg.get_payload()

    for n, part in enumerate(parts):

    print('%spart %s' % (' ' * indent, n))

    print('%s--------------------' % (' ' * indent))

    print_info(part, indent + 1)

    else:

    content_type = msg.get_content_type()

    if content_type=='text/plain' or content_type=='text/html':

    content = msg.get_payload(decode=True)

    charset = guess_charset(msg)

    if charset:

    content = content.decode(charset)

    print('%sText: %s' % (' ' * indent, content + '...'))

    else:

    print('%sAttachment: %s' % (' ' * indent, content_type))

    return content

    email = '12345678@qq.com'

    password = 'abcdefghigk' #该步骤输入密码

    pop3_server = 'pop.qq.com' #修改对应的邮箱服务器

    server = poplib.POP3_SSL(pop3_server)

    server.set_debuglevel(1)

    print(server.getwelcome().decode('utf-8'))

    server.user(email)

    server.pass_(password)

    print('Messages: %s. Size: %s' % server.stat())

    resp, mails, octets = server.list()

    index = len(mails)

    for i in range(index,index-30,-1):

    #倒序遍历邮件

    resp, lines, octets = server.retr(i) #retr返回一个三元素列表,第一个元素是response,即返回状态;第二个元素是一个列表,包括每一行的数据;第三个数据是octets

    msg_content = b'\r\n'.join(lines).decode('utf-8') #返回line1\r\nline2\r\n 连接lines列表中的所有行。

    #解析邮件:

    msg = Parser().parsestr(msg_content)

    #获取邮件时间

    date1 = time.strptime(msg.get("Date")[0:24],'%a, %d %b %Y %H:%M:%S') #格式化收件时间

    date2 = time.strftime("%Y%m%d", date1)#邮件时间格式转换

    print(msg.get("from")) #发件人

    print_info(msg) #获取邮件内容

    server.quit()

    更多相关内容
  • 该源码是针对特定网站,不是通用代码,但是具有一定的参考性,不想下载可以看我博客有相应的每个部分的代码块 http://blog.csdn.net/henni_719/article/details/60580815
  • user email tel mobile subject emailaccount emailpassword emailserver company company_en address address_en website name user@ievision....
  • python自动下载邮件附件

    千次阅读 多人点赞 2021-03-23 16:04:55
    继上一次的 群聊机器人开发 之后的工作流程再优化,上次研究完群聊机器人之后,开发了三个机器人替我处理表格并自动发出去。其中有一项工作的数据源来源于邮件,还需要我自己手动下载,放入指定位置才可以处理!虽然...

    作者介绍:目前就职于电商数据分析师,日常工作以爬虫和DBA数据库管理为主,业务场景模型搭建为辅!自16年至今一直从事数据相关工作,从最初的表哥到现在的大数据、数据挖掘、机器学习,一直不断成长!日常活跃于CSDN

    Slogan: 科技成就商业未来,数据看透问题本质
    CSDN:https://blog.csdn.net/qq_35866846
    微信公众号:诡途

    在这里插入图片描述

    一、项目背景

    继上一次的 群聊机器人开发 之后的工作流程再优化,上次研究完群聊机器人之后,开发了三个机器人替我处理表格并自动发出去。其中有一项工作的数据源来源于邮件,还需要我自己手动下载,放入指定位置才可以处理!虽然比之前方便了很多,但是还是想更方便些。(自己淘汰自己的路上越走越远o(╥﹏╥)o),于是想着能不能用代码下载,研究了半天还终于整出来了,而且还是两种方法!

    二、有授权码的场景

    准备工作,QQ邮箱开通授权码流程在这里插入图片描述

    # 导入库——qq邮箱测试,其他邮箱略有差异
    import poplib,email,datetime,time,traceback,sys,telnetlib,zipfile,os,shutil
    from email.parser import Parser
    from email.header import decode_header
    from email.utils import parseaddr
    ​
    # 输入邮件地址, 口令和POP3服务器地址:
    email_user='xxxxxx@qq.com'
    # 此处密码是授权码,用于登录第三方邮件客户端
    password='你自己的授权码'
    pop3_server='pop.qq.com'# 授权码登录邮箱
    def email_login(email_user,password,pop3_server):
        # 连接到POP3服务器,有些邮箱服务器需要ssl加密,可以使用poplib.POP3_SSL
        telnetlib.Telnet('pop.qq.com',995)
        server=poplib.POP3_SSL(pop3_server,995,timeout=10)
    #     server=poplib.POP3(pop3_server,110,timeout=10)
        # 可以打开或关闭调试信息
    #     server.set_debuglevel(1)# 身份认证:
        server.user(email_user)
        server.pass_(password)
        
        # 返回邮件数量和占用空间:
        print('Messages: %s. Size: %s'%server.stat())
        
        # list()返回所有邮件的编号:
        resp,mails,octets = server.list()
        
        return mails,server
        
     def decode_str(str_in):
        """字符编码转换"""
        value, charset = decode_header(str_in)[0]
        if charset:
            value = value.decode(charset)
        return value
       
     def save_att_file(save_path):
        """附件下载函数"""
        for part in msg.walk():
            file_name = part.get_filename()
        #     contentType = part.get_content_type()
            attachment_files =[]
            if file_name:
                file_name = decode_str(file_name)
                data =  part.get_payload(decode=True)
                att_file = open(os.path.join(save_path,file_name), 'wb')
                attachment_files.append(file_name)
                att_file.write(data)
                att_file.close()
                print(f"附件 {file_name} 下载完成")def main(yesterday):
        # 遍历所有邮件
        for i in range(1,len(mails)+1):
            resp,lines,octets = server.retr(i)
            msg_content=b'\r\n'.join(lines).decode()# 解析邮件:
            msg = Parser().parsestr(msg_content)
            From = parseaddr(msg.get('from'))[1]#发件人
            To = parseaddr(msg.get('To'))[1]#收件人
            Cc = parseaddr(msg.get_all('Cc'))[1]#抄送人
            Subject = decode_str(parseaddr(msg.get('Subject'))[1])#主题# 获取邮件时间,格式化收件时间
            date1 = time.strptime(msg.get("Date")[0:24],'%a, %d %b %Y %H:%M:%S')
            # 邮件时间格式转换
            date2 = time.strftime("%Y-%m-%d",date1)print(f'发件人:{From};收件人:{To};抄送人:{Cc};主题:{Subject};收件日期:{date2}')# 主题和日期验证所需邮件
            if ("TM在售" in Subject)&(date2 == yesterday):
                save_att_file(save_path)
          
    # 今天日期
    today = datetime.date.today()
    # 昨天日期
    yesterday = (today - datetime.timedelta(days=1)).strftime('%Y-%m-%d')
    save_path = os.getcwd()# 登录获取邮件列表
    mails,server = email_login(email_user,password,pop3_server)
    
    # 下载主程序
    main(yesterday)
    

    三、无授权码的场景

    鉴于企业邮箱没有给开授权码权限,以及业务流程限制不允许使用私人邮箱,又研究了下直接使用win32com直接驱动outlook客户端

    注:使用前提,本机配置好了outlook,即至少登录过一次,因为我只配置了一个邮箱账户,没有测试多账户情况

    # 导入库
    import win32com.client
    import os
    ​
    def download_email_att(yesterday):
        # 创建outlook客户端链接
        outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")# "6" 是指文件夹的索引,在本例中,表示收件箱。可以把那个号码改成参考号
        inbox = outlook.GetDefaultFolder(6)# 获取收件箱列表
        messages = inbox.Items
        # # 获取当前最新邮件
        # message = messages.GetFirst()
        # # 获取邮件主题
        # subject = message.Subject
        # # 获取邮件正文
        # body = message.Body# 倒序读取最新30封邮件 ——因为邮件过多,完全遍历耗时过久
        for i in range(len(messages),len(messages)-30,-1):
            message = messages(i)
            subject = message.Subject
            date = message.senton.date()
        #     print(subject,date)
            if ("TM在售" in subject)&(str(date) == yesterday):
        #         print(subject,date)
                # 获取附件信息
                attachments = message.Attachments
                num_attach = len([x for x in attachments])
                for x in range(1, num_attach + 1):
                    attachment = attachments.Item(x)
                    # 保存附件到save_path下
                    attachment.SaveASFile(os.path.join(save_path, attachment.FileName))
                    print(f"附件 {attachment}下载完成")
                break  # 找到指定邮件打断循环# 今天日期
    today = datetime.date.today()
    # 昨天日期
    yesterday = (today - datetime.timedelta(days=1)).strftime('%Y-%m-%d')            
    # 附件保存路径
    save_path = os.getcwd()
    download_email_att(yesterday)
    

    科技成就商业未来,数据看透问题本质!
    我是诡途,感谢阅读,欢迎转发分享点赞!
    文章仅供学习交流,转载请注明来源!

    展开全文
  • outlook VBA 自动保存邮件附件代码
  • 自动保存Outlook邮件附件(利用VBA).docx
  • 本文使用的是163邮件进行测试。 注:163邮箱现在需要使用 客户端授权码 进行测试,不再支持邮箱密码进行测试。  1、使用Python发Text 邮件 import smtplib # 发送字符串的邮件 from email.mime.text import ...
  • 主要为大家详细介绍了python实现批量解析邮件并下载附件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • -t 邮件主题 -c 正文内容 -a http://www.test.com/uploadfile/test.xlsx;d:\test2.txt; 命令行帮助提示信息输入okmail -h,-s为服务器 -p为端口号。 定时循环执行:可在windows的任务与计划中每天每周每月等循环或...
  • Outlook-VBA-05-自动获取邮件附件

    千次阅读 2021-10-23 09:59:51
    使用outlook-VBA二次开发,自动获取特定发件人,特定主题下的附件,将其存储到本地

    系统:Windows 10
    软件:Outlook 2016

    • 本系列讲讲在Outlook中使用VBA实现一些功能
    • 今天讲讲如何将特定人员,特定主题的邮件的附件存储到本地

    Part 1:场景描述

    1. 工作中,希望另外一方定期给自己分发一些报告,在本地写了一个自动处理报告的程序。
      • 对方可以写一个程序,自动发送邮件
      • 而我们需要定期获取对方发过来的报告,有很多种方式,如ftp,假设只能采用邮箱的这种方式

    Part 2:基本逻辑

    1. 设置一个事件,收到新邮件则触发
    2. 获取新邮件的发件人邮箱,主题信息,以及是否有附件
    3. 满足条件后,将附件存储到本地

    收到一封新邮件
    请添加图片描述

    自动存储

    请添加图片描述

    Part 3:代码

    Private WithEvents Items As Outlook.Items
    
    
    Private Sub Application_Startup()
        Dim outlookFldr As Folder
        Dim outlookName As NameSpace
    
        Set outlookName = Application.GetNamespace("MAPI")
        Set outlookFldr = outlookName.GetDefaultFolder(olFolderInbox)
        Set Items = outlookFldr.Items
    End Sub
    
    
    Private Sub Items_ItemAdd(ByVal Item As Object)
        '邮件主题
        Debug.Print ("新收到的邮件主题是:" & Item.Subject)
        MsgBox "新收到的邮件主题是:" & Item.Subject
        subject_info = Item.Subject
        
        '发件人
        Debug.Print ("新收到的邮件发件人是:" & Item.SenderName)
        Debug.Print ("新收到的邮件发件人是:" & Item.SenderEmailAddress)
        send_person = Item.SenderEmailAddress
        
        '附件
        attachmentsCount = Item.Attachments.Count
        Debug.Print ("附件数目为:" & attachmentsCount)
        
        If InStr(subject_info, "广东") <> 0 And send_person = "XXX@163.com" And attachmentsCount > 0 Then
            For Each Attachment In Item.Attachments
                    attachmentFileName = Attachment.FileName
                    Debug.Print ("附件名称为:" & attachmentFileName)
                    
                    newFileAddress = "D:\xxx\【3】文章\Outlook\20211023-outlook-05-多条件处理" & "\" & attachmentFileName
                    If Dir(newFileAddress) <> "" Then
                        Debug.Print ("文件已存在,将删除后保存")
                        Kill newFileAddress
                    End If
                    Attachment.SaveAsFile (newFileAddress)
                Next
        End If
    End Sub
    
    

    代码截图
    请添加图片描述

    Part 4:部分代码解读

    1. subject_info = Item.Subject获取邮件主题
    2. send_person = Item.SenderEmailAddress获取发件人的邮箱
    3. Item.Attachments.Count获取附件的数目
    4. InStr(subject_info, "广东") <> 0可以用来判断是否包括某字符串
    5. 关于事件功能,文件另存为,之前文章有所讲述

    • 更多学习交流,可加小编微信号learningBin

    更多精彩,请关注微信公众号
    扫描二维码,关注本公众号

    公众号底部二维码.jpg

    展开全文
  • 不过发现网上各种文档都是未经过整理,代码写的很不友善,比如发送多人的只能发送前一个邮箱,附件写死不灵活等等,故特写一遍比较记录。 主要会遇到的几个问题:  1、smtplib.SMTPAuthenticationError: (550, b’...
  • Python自动发送邮件并添加附件的源代码,真特定网站,比较具有参考价值
  • 此程序可以实现向目标用户(可以向多用户)发送邮件(可以带附件(Excel、Word、JPG)) 用户只需要配置Email_config文件和EmailHelper文件,启动Main即可向目标用户发送邮件
  • 首先,将mail.ini中的邮箱信息修改为你自己的邮箱信息,并指定好附件路径! 然后,将sendmail.exe添加到计划任务中(可适当设置好运行周期),即可实现邮件的定时发送!
  • 命令行模式下的收取邮件 2.1 安装getmail4 2.2 配置getmail4和简单举例 2.3 用munpack从邮件中抽取附件 1. 命令行模式下的发送邮件 1.1 安装sendemail 在Ubuntu下可以用新立得软件包管理器搜索安装,或者在终端运行...
  • java邮件读取工具类,可读取附件,功能强大,经测试可用。
  • VFP利用JMAIL发送邮件附件,纯代码,效果好VFP利用JMAIL发送邮件附件,纯代码,效果好
  • VBA实现自动发送PDF附件邮件功能。非常好用的,每当保存动作完成,系统就自动发送一份邮件通知相关已经定义好的群组!
  • C#自动发送邮件

    2019-02-15 09:41:43
    调用指定的邮件服务器进行邮件发送,可以批量进行发送,抄送批量人,增加附件等。
  • 主要介绍了Python实现读取邮箱中的邮件功能,可读取邮件文本及附件的功能,涉及Python针对邮件的获取、分析、保存等相关操作技巧,需要的朋友可以参考下
  • 本文实例为大家分享了python自动发送报警监控邮件 的具体代码,供大家参考,具体内容如下 因为有一些日常任务需要每日检查日否执行正确,所以需要一个报警监控的机制,这个需要你指定你发送的邮箱和你接收的邮箱,就...
  • 使用python脚本实现区别型EXCEL内的一些条件判断后,做自动定时发送邮件
  • 如何让outlook自动保存特定发件人发来的邮件中的附件.pdf
  • uipath自动获取outlook邮箱附件,可自动依据收件时间或者是“标题内容”进行筛选。
  • 主要为大家详细介绍了python smtplib模块自动收发邮件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Linux下监控磁盘使用量并在超过阀值后自动发送报警邮件-附件资源
  • 本文实例为大家分享了PHPMailer ThinkPHP自动发送邮件的具体代码,供大家参考,具体内容如下 1.下载PHPMailer类包,放入ThinkPHP的Vendor目录,这是ThinkPHP的第三方类库目录 2.然后在项目目录下common文件夹下,在...
  • 主要为大家详细介绍了python3通过qq邮箱发送邮件以及附件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 发送邮件2.1 导入email/smtplib相关模块2.2 email模块2.2.1 邮箱设置2.2.2 添加正文2.2.3 添加图片文件2.2.4 添加doc文件2.2.5 添加pdf文件2.2.6 添加表格文件2.3 smtplib模块3. 定时任务3.1 schedule库3.2 定时...


    大家好,我是欧K。

    在工作中我们经常需要在每周、每天或者其他时间周期做工作汇报、文件发送之类的工作,这个时候如果可以设定周期性邮件发送,不用每次手动操作,是不是很方便?本期给大家介绍几个定时发送邮件相关的库,希望对你有所帮助。

    主要涉及:
    email – 设置邮件格式和内容
    smtplib – 发送邮件
    schedule – 定时任务

    1. 邮箱设置

    1.1 设置

    登录QQ邮箱,打开设置-账户(这里操作的是个人邮箱,企业邮箱选择其他邮箱即可):

    在这里插入图片描述

    1.2 获取POP3/SMTP服务授权码

    第一次操作以下四项均为关闭状态(这里我已经开启了),点击后面的开启,要求用绑定的手机发送"配置邮箱客户端"到指定号码,照做就可以了,然后会收到服务授权码

    在这里插入图片描述

    2. 发送邮件

    2.1 导入email/smtplib相关模块

    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage
    from email.mime.multipart import MIMEMultipart
    from email.mime.application import MIMEApplication
    import smtplib
    

    注意:如果没有相关模块,直接pip install xxx即可。

    2.2 email模块

    MIMEText:表示文本对象
    MIMEImage:表示图片对象
    MIMEMultipart(有三个子类型):mixed、alternative、related。

    • mixed 当邮件中含有附件,须定义multipart/mixed类型
    • alternative 当邮件包括纯文本正文(text/plain)和超文本正文(text/html),须定义multipart/alternative类型
    • related 当邮件中除了附件外还包含内嵌资源时,须定义multipart/related类型

    MIMEAppliction:封装附件

    2.2.1 邮箱设置

    # 设置邮箱的域名
    HOST = 'smtp.qq.com'
    # 设置邮件标题
    SUBJECT = '工作汇报'
    # 设置发件人邮箱
    FROM = 'aaa@qq.com'
    # 设置收件人邮箱,可以同时发送到多个邮箱(用list)
    TO = 'bbb@qq.com'
    # 设置附件模式
    message = MIMEMultipart('mixed')
    

    2.2.2 添加正文

    MIMEText:

    ''' 添加正文 '''
    content = '欧sir,附件为最新日期文件,请查收!'
    content_msg = MIMEText(content)
    message.attach(content_msg)
    

    2.2.3 添加图片文件

    MIMEImage:

    image_file = open('Python当打之年.jpg', 'rb').read()
    image = MIMEImage(image_file)
    image.add_header('Content-Disposition', 'attachment', filename='Python当打之年.jpg')
    message.attach(image)
    

    2.2.4 添加doc文件

    MIMEApplication:

    doc = '算法与数据结构.doc'
    doc_file = MIMEApplication(open(doc, 'rb').read())
    doc_file.add_header('Content-Disposition', 'attachment', filename=doc)
    message.attach(doc_file)
    

    2.2.5 添加pdf文件

    MIMEApplication:

    pdf = 'Python高性能编程.pdf'
    pdf_file = MIMEApplication(open(pdf, 'rb').read())
    pdf_file.add_header('Content-Disposition', 'attachment', filename=pdf)
    message.attach(pdf_file)
    

    2.2.6 添加表格文件

    MIMEApplication:

    csv_file = open('blockdtas.xlsx', 'rb').read()
    csv = MIMEApplication(csv_file)
    csv.add_header('Content-Disposition', 'attachment', filename='blockdtas.xlsx')
    message.attach(csv)
    

    2.3 smtplib模块

    客户端邮件发送:

    # 获取SSL证书
    email_client = smtplib.SMTP_SSL(host='smtp.qq.com')
    # 设置域名和端口,端口为465
    email_client.connect(HOST, '465')
    # 邮箱授权码
    email_client.login(FROM, '你的授权码')
    email_client.sendmail(from_addr=FROM, to_addrs=TO.split(','), msg=message.as_string())
    # 关闭邮件发送客户端
    email_client.quit()
    

    运行效果:
    在这里插入图片描述

    3. 定时任务

    3.1 schedule库

    import schedule as schedule
    

    schedule:是python的一个轻量级定时任务库,可以完成每分钟,每小时,每天,周几,特定日期的定时任务。
    eg:每分钟执行一次任务

    def func():
        print('{} 执行func'.format(time.strftime("%H:%M", time.localtime())))
    
    schedule.every(1).minutes.do(func)
    

    效果:
    在这里插入图片描述

    3.2 定时发送邮件

    以下是几个周期发送邮件的语法,大家可以自行运行:

    # 每1分钟执行一次任务:
    schedule.every(1).minutes.do(send_email)
    # 每小时执行一次任务:
    schedule.every().hour.do(send_email)
    # 每天在什么时间点执行一次任务:
    schedule.every().day.at('17:30').do(send_email)
    # 每10-20分钟(随机)执行一次任务:
    schedule.every(10).to(20).minutes.do(send_email)
    # 每周一执行一次任务:
    schedule.every().monday.do(send_email)
    # 每周一什么时间点执行一次任务:
    schedule.every().monday.at('09:00').do(send_email)
    # 每分钟在第45秒的时候执行任务:
    schedule.every().minute.at(':45').do(send_email)
    

    如果需要相关代码可以在公众号后台回复”email“获取。

    完。


    以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享让更多人知道哦

    推荐阅读

    基础 | Python面向对象一文详解
    基础 | Python函数一文详解
    技巧 | 20个Pycharm最实用最高效的快捷键(动态展示)
    技巧 | 5000字超全解析Python三种格式化输出方式【% / format / f-string】
    爬虫 | Python送你王者荣耀官网全套皮肤
    爬虫 | 用python构建自己的IP代理池,再也不担心IP不够用啦!
    可视化 | Python制作最炫3D可视化地图
    可视化 | 动起来的中国大学排名,看看你的母校在哪里
    可视化 | 用Python分析近5000个旅游景点,告诉你假期应该去哪玩
    可视化 | Python精美地图动态展示近20年全国各省市GDP
    可视化 | Python陪你过520:在你身边,你在身边

    文章首发微信公众号 “Python当打之年” ,每天都有python编程技巧推送,希望大家可以喜欢
    在这里插入图片描述

    展开全文
  • email模块主要负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等。 1.smtplib模块 smtplib使用较为简单。以下是最基本的语法。 导入及使用方法如下: import smtplib smtp = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,766
精华内容 14,706
关键字:

自动 邮件 附件