精华内容
下载资源
问答
  • 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)
    

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

    展开全文
  • 自动发送邮件可以将常规化得需求自动化,解放双手做更多有意义的事情
    背景: 自动发送邮件可以将常规化得需求自动化,解放双手做更多有意义的事情

    以下即为代码:

    # -*- coding: utf-8 -*-
    """
    Created on Wed Jul  3 12:22:58 2019
    
    @author: wuxian
    """
    import smtplib
    import email.mime.multipart
    import email.mime.text
    import email.mime.base
    import os.path
    import xlwt
    import time
    import schedule
    import sys
    import os
    with open(r'.\Desktop\PID.txt','a') as file:
        file.write(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())+'\t')
        file.write(str(sys.argv[0]).split('\\')[-1]+'\t')
        file.write('PID:'+str(os.getpid())+'\t')
        file.write('PPID:'+str(os.getppid())+'\n')
    #open-'a':写入打开,如果文件存在则添加到尾部
    # =============================================================================
    #连接数据库
    # =============================================================================
    import pymysql
    def dbreadsql(v_sql):
        conn = pymysql.connect(host=None, port=3306,
                           user='root', passwd='wx123456', db= 'testwuxian',
                           charset='utf8')
        cur = conn.cursor()
        cur.execute(v_sql)
        rows = cur.fetchall()
        cur.close()
        conn.close()
        return  rows
    
    
    sql0 = "select * from testwuxian.register_info"
    #sql1 = "select * from testwuxian.register_detail"
    sql2 = "select * from testwuxian.search_info"
    sql3 = "select * from testwuxian.search_detail"
    
    
    rows0 = dbreadsql(sql0)
    #rows1 = dbreadsql(sql1)
    rows2 = dbreadsql(sql2)
    rows3 = dbreadsql(sql3)
    
    
    # 生成excel文件名
    def mailsend(rows0,rows2,rows3):
        v_file_name = 'COCOK生产库数据.xls'
        # 生成excel文件
        book = xlwt.Workbook()#
        sheet1 = book.add_sheet('注册人数', cell_overwrite_ok=True)
    #    sheet2 = book.add_sheet('注册明细', cell_overwrite_ok=True)
        sheet3 = book.add_sheet('关键字搜索次数', cell_overwrite_ok=True)
        sheet4 = book.add_sheet('关键字搜索明细', cell_overwrite_ok=True)
        #表头标题
        sheet1.write(0, 0, '注册日期')
        sheet1.write(0, 1, '注册人数')
        
    #    sheet2.write(0, 0, '注册日期')
    #    sheet2.write(0, 1, '手机号')
    #    sheet2.write(0, 2, '设备型号')
    #    sheet2.write(0, 3, '神策标识码') 
        
        sheet3.write(0, 0, '搜索日期')
        sheet3.write(0, 1, '搜索总次数')
        
        sheet4.write(0, 0, '搜索日期')
        sheet4.write(0, 1, '搜索关键字')
        sheet4.write(0, 2, '搜索次数')
    
        # 每一列写入excel文件,不然数据会全在一个单元格中
        for i in range(len(rows0)):
            for j in range(2):
                # print (rows[i][j])-
                # print ("--------")
                sheet1.write(i + 1, j, rows0[i][j])
    
    #    for i in range(len(rows1)):
    #        for j in range(4):
    #            # print (rows[i][j])-
    #            # print ("--------")
    #            sheet2.write(i + 1, j, rows1[i][j])            
                
        for i in range(len(rows2)):
            for j in range(2):
                # print (rows[i][j])-
                # print ("--------")
                sheet3.write(i + 1, j, rows2[i][j])   
                
        for i in range(len(rows3)):
            for j in range(3):
                # print (rows[i][j])-
                # print ("--------")
                sheet4.write(i + 1, j, rows3[i][j])               
        
        book.save("C:/Users/wuxian/Desktop/" + v_file_name)
        
        # 邮件信息
        From = "发送者邮箱"
        To =  "收件人邮箱"
        Cc = "抄送人邮箱"
        file_name = v_file_name
        server = smtplib.SMTP_SSL("smtp.aliyun.com",465)
        server.login("邮箱", "密码")  # 仅smtp服务器需要验证时
        
        # 构造MIMEMultipart对象做为根容器
        main_msg = email.mime.multipart.MIMEMultipart()
        
        # 构造MIMEText对象做为邮件显示内容并附加到根容器
        text_msg = email.mime.text.MIMEText("Hi All,\n \n  正文部分内容,请查收,谢谢。\n \n Best Wishes!")
        main_msg.attach(text_msg)
        
        
        # 构造MIMEBase对象做为文件附件内容并附加到根容器
        maintype,subtype = 'ershoufanglianjia','.xls'
        
        # 读入文件内容并格式化
        data = open("C:/Users/wuxian/Desktop/" + file_name, 'rb')
        file_msg = email.mime.base.MIMEBase(maintype, subtype)
        file_msg.set_payload(data.read())
        data.close()
        email.encoders.encode_base64(file_msg)
        
        # 设置附件头
        basename = os.path.basename("./Desktop/" + file_name)
        file_msg.add_header('Content-Disposition',
                            # 附件如果有中文会出现乱码问题,加入gbk
                            'attachment', filename=('gbk', '', basename))
        main_msg.attach(file_msg)
        
       
        # 设置根容器属性
        main_msg['From'] = From
        main_msg['To'] = To
        main_msg['Cc'] = Cc
        main_msg['Subject'] = "邮件主题"
        main_msg['Date'] = email.utils.formatdate()
        
        # 得到格式化后的完整文本
        fullText = main_msg.as_string()
    # 用smtp发送邮件
        try:
            server.sendmail(From, To.split(',') + Cc.split(','), fullText)
            print("发送成功")
        except Exception as e:
            print("发送失败")
            print(str(e))
        finally:
            server.quit()         
    mailsend(rows0,rows2,rows3)  
      
    #若是需要定时发送则使用以下代码:
    #schedule.every().day.at('8:00').do(mailsend) 
    #while True:
    #    schedule.run_pending()
    #    time.sleep(60)
    
    展开全文
  • linux下基于python自动定时发送邮件附件 每天晚上要给她发送一个当天的报表;每天?excuse me?每天?开什么国际玩笑。每天干同一个工作,这要不给整成auto的。今天果断研究了下自动发送邮件。 原理不懂,只实现功能...

    linux下基于python自动定时发送邮件附件

    每天晚上要给她发送一个当天的报表;每天?excuse me?每天?开什么国际玩笑。每天干同一个工作,这要不给整成auto的。今天果断研究了下自动发送邮件。
    原理不懂,只实现功能

    主要是两部分
    python自动发送邮件, 基于SMTP协议,使用email和smtplib库
    linux定时执行, cron

    AUTO-Email python code

    功能描述:
    将一个以日期格式命名(yyyymmdd)的文件夹压缩zip包,通过邮件附件形式发送指定邮箱。

    #!/bin/env python
    # -*- coding: utf-8 -*-
    

    import datetime
    import smtplib
    import os,sys
    from email import Encoders
    from email.mime.text import MIMEText
    from email.MIMEMultipart import MIMEMultipart
    from email.MIMEBase import MIMEBase
    from optparse import OptionParser

    HOME=sys.path[0]
    #sender name and password
    sendername=“haha” #your email name
    sendername_all="haha@hehe.com" #your email
    senderpass=“wonazhidao” #email password
    #list of all receiver (include cc-receiver)
    receiverlist=["haha1@hehe.com","haha2@hehe.com"] #收件人
    receivertmplist=[]
    receivercctmplist=[] #抄送人

    #make a mail
    mailall=MIMEMultipart()

    today=str(datetime.date.today()).replace(’-’,’’) #今天日期

    mailcontent=“haha”
    mailall.attach(MIMEText(mailcontent,‘plain’,‘utf-8’)) #邮件正文内容,类型是plain, or html(复杂)
    title=today+" Data report"
    #today=os.path.join(HOME,today)
    attfilePath=today+’.zip’

    if os.path.exists(today):
    sys_cmd=“zip -r %s %s”%(attfilePath,today)
    os.system(sys_cmd)
    if not os.path.isfile(attfilePath):
    print(“no zip file”)
    else:
    print(“no folder”)

    #添加zip邮件附件(通用其他文件格式)
    if os.path.isfile(attfilePath) and os.path.exists(today):
    with open(attfilePath,‘rb’) as f:
    contype = ‘application/octet-stream’
    maintype,subtype=contype.split(’/’,1)
    attfile=MIMEBase(maintype,subtype)
    attfile.set_payload(f.read())
    Encoders.encode_base64(attfile) #Base64编码(为啥不知道)
    attfile.add_header(‘Content-Disposition’,‘attachment’,filename = attfilePath) #头信息,貌似并不是附件名称
    print(“attach file prepared!”)
    mailall.attach(attfile)
    else:
    title=“some wrong!!!”
    print(title)

    #title,sender,receiver,cc-receiver,
    #邮件基本信息,主题,发送人,收件人,抄送人
    mailall[‘Subject’]=title #options.title
    mailall[‘From’]=sendername_all
    mailall[‘To’]=str(receivertmplist)
    if len(receivercctmplist) !=0:
    mailall[‘CC’]=str(receivercctmplist)

    #get the text of mailall
    fullmailtext=mailall.as_string()
    print(“prepare fullmailtext ok.”)
    #mailconnect = smtplib.SMTP(options.server)
    mailconnect = smtplib.SMTP(smtp.126.com) #email server,port default 25
    try:
    mailconnect.login(sendername,senderpass)
    except Exception as e:
    print(“error when connect the smtpserver with the given username and password !”)
    print(e)

    print(“connect ok!”)

    try:
    mailconnect.sendmail(sendername_all, receiverlist, fullmailtext)
    except Exception as e:
    print(“error while sending the email!”)
    finally:
    mailconnect.quit()

    print(‘email to ‘+str(receiverlist)+’ over.’)

    定时执行cron

    cron是linux下的定时执行工具,可以在无需人工干预的情况下运行作业。

    root或su下操作。
    首先查看cron是否启动。

    service cron status     //查看cron状态
    service crond start     //启动服务
    service crond stop      //关闭服务
    service crond restart   //重启服务
    service crond reload    //重新载入配置

    然后修改crontab.

    crontab –e : 修改 crontab 文件,如果文件不存在会自动创建 
    crontab –l : 显示 crontab 文件
    

    #crontab书写格式:
    minute(00-59) hour(00-24) day-of-month(01-31) month-of-year(01-12) day-of-week(0-6,0:Sunday) commands

    在crontab中写入需要执行的命令和时间,前五个域是指定命令执行时间,最后一个域是执行命令。每个域之间使用空格或者制表符分隔。

    除了数字还有几个特殊的符号:"*"、"/"和"-"、","
    *代表所有的取值范围内的数字
    "/"代表每的意思,"/5"表示每5个单位
    "-"代表从某个数字到某个数字
    ","分开几个离散的数字

    commands 注意
    文件要写绝对路径
    打印不会显示出来,在后台运行,做好重定向日志

    0 6 * * * echo "Good morning."                  #6:00 every day
    15 */2 * * * echo "Good morning."               #每两个小时的第15分钟
    0 4 1 1 * echo "Good morning."                  #114:00
    51555 1618 * * * echo "Good morning."        #每天16点、18点的5min、15min、55min执行

    小坑记录

    1. smtp时先确保机器是能够ping通邮箱服务器的。公司的开发机器居然ping不通自己的email server!真尴尬,第一反应是端口被封了,试了半天没改善。
    2. cron,在命令执行时,如果涉及到shell或者py文件,注意要给到完整绝对路径,否则会出问题。
    3. 在执行py文件前,可以先将其编译pyo文件,保密并且载入执行的效率会高,删掉.py,执行.pyo即可。
      python -O -m py_compile /path/to/需要生成.pyo的脚本.py

    Reference

    首推每个的第一个
    auto-email:
    http://blog.csdn.net/lifeiaidajia/article/details/8525259
    http://blog.csdn.net/kornberg_fresnel/article/details/51227761
    http://blog.sina.com.cn/s/blog_78c913e30102x6i5.html
    http://wjpingok.blog.51cto.com/5374697/1737182
    cron:
    http://www.cnblogs.com/kaituorensheng/p/4494321.html
    http://blog.csdn.net/xionglangs/article/details/52913351

    展开全文
  • 附件自动邮件发送系统

    千次阅读 2018-10-15 22:17:24
    此程序可以实现向目标用户(可以向多用户)发送邮件(可以带附件(Excel、Word、JPG))

    此程序可以实现向目标用户(可以向多用户)发送邮件(可以带附件(Excel、Word、JPG))

    下载地址:https://download.csdn.net/download/luzaofa/10722521
    用户只需要配置Email_config文件和EmailHelper文件,启动Main即可向目标用户发送邮件。
    

    配置说明:

    1. Email_config具体配置信息参考Email_config文件
    2. EmailHelper文件配置信息如下:(授权码需开启相应的邮箱服务,切记授权码不是用户登录密码)
      sender = ‘XXXXX@126.com’ # 发送账户
      smtpserver = ‘smtp.126.com’ # 邮箱服务器
      username = ‘XXXXX@126.com’ # 用户名
      password = ‘XXXXXXXXXXXXXXX’ # 授权码

    每天进步一点点,坚持、积累、进步…

    展开全文
  • python3自动发送邮件并添加附件

    千次阅读 热门讨论 2019-09-25 00:50:29
    将本地报表文件以附件形式添加到邮件发送 设置定时任务 代码 import pymysql import pandas as pd import smtplib from email.header import Header from email.mime.text import MIMEText from email.m...
  • Outlook回复邮件自动加上附件

    千次阅读 2017-11-07 16:15:00
    用户提出这个需求,想知道如何回复的时候可以自动加上原来邮件带的附件,这个其实之前也已有想过,只是一直没有尝试去找解决方法。 后来google后在这里发现相关信息,测试后可以用。安装前需关掉outlook并保持网络...
  • 利用python自动发送带附件邮件

    千次阅读 2018-10-31 23:23:23
    利用python自动发送邮件 说道邮件,必须要了解相关的协议。 简单地说,SMTP管‘发’,POP3/IMAP管‘收’。 POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会...
  • 2.每天自动定时发送邮件 二、实现的过程: 1.首先利用windows自带的记事本写好bat批处理文件,更多tableau可以看tableau cmd命令,本地新建记事本,贴代码如下,然后改后缀bat: set path=C:\Program Files\...
  • golang--自动下载邮件附件

    千次阅读 2017-03-23 10:13:46
    之前看到php和java都有完整的自动下载邮件的程序,现在也分享一个golang的,其中主要麻烦的是判断邮件的状态,是否未读,然后就是获取附件并且下载,具体代码如下: package main import ( "io" "io/ioutil" ...
  • 自动发带查询结果附件邮件

    千次阅读 2014-01-24 09:58:45
    自动发带查询结果附件邮件 一:背景 我们日常工作中,可能每天都要反馈一个固定查询结果集,比如日报。 为了减轻工作量,实现自动化管理,所以想通过作业的方式将查询结果附件自动发给收件人。 例如:这里要把test...
  • java实现自动邮件并携带附件

    千次阅读 2015-12-08 15:44:16
    项目需要用java实现自动邮件,包含邮件标题,正文和附件, 网上搜索了一下拿到的实例都无法满足需求,为了方便以后查阅也方便他人查阅记录如下 实例如下: 1.如果遇到 class not found问题请删除 myeclipse\...
  • 1. 在VBA中编写模块代码,实现保存附件的功能 在Outlook中按Alt + F11调出VBA编辑器,贴入以下代码 Public Sub SaveAttach(Item As Outlook.MailItem) 'Declare variables Dim folderPath As String folderPath = ...
  • 都晓得CleanMyMacX邮件附件清理功能十分强大,用CleanMyMacX怎样进行邮件附件清理,CleanMyMacX清理邮件附件的方法带给你,邮件附件清理功能可以保证在收件箱中原始附件的安全性的基础上,清理邮件下载和附件的本地...
  • 因为现在正在进行的项目要求: 实现自动下载邮件并提取邮件中的附件   所以决定使用getmail4 来完成 首先安装 :sudo apt-get install getmail4 配置: cd ~  mkdir .getmail  cd .getmail  mkdir maildir
  • java邮件自动发送时添加网络附件

    千次阅读 2017-02-18 20:30:23
    查了很多资料都是使用本地资源作为附件发送。但是遇到资源在数据服务器上时,怎么在发送邮件时添加附件吗?先下载资源,然后发送邮件,再删除附件
  • Java自动发送带图片邮件(带附件

    千次阅读 2017-04-28 11:02:42
     System.err.println("增加邮件附件"+filename+"发生错误:"+e);  return false;  }  }    public boolean setForm(String from){  System.out.println("设置发信人");  try{  mimeMsg.setFrom(new ...
  • ject=raw_input("邮件名:") sendfile=fm.getLastFileWithPath() RunXQL() fm.moveCSVToSave() AutoMail(sender,reciver,smtpServer,password,ject,sendfile) if __name__=="__main__": Run() 之前该项目...
  • Python邮件附件保存

    2020-04-24 22:05:21
    好早之前有遇到求助是关于把邮件附件下载,然后上传到服务器。当时没有好好珍惜,现在重新回顾把这个问题来解决吧。 outlook是工作沟通的基本工具,在工作上也有写过自动获取邮件正文并保存到文件中。因为微软提供很...
  • 邮件->发送 下面以使用qq邮箱发送为例: 首先需要再qq邮箱里面设置好SMTP这个发件功能以及授权码。 开启SMTP发件功能: 进入qq邮箱,点击账号->选择【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】-&g....
  • VBA自动发送邮件+内容+附件

    千次阅读 2018-08-14 10:30:00
    网上看到的一个例子,需要将以下表格根据内容将近7天的数据自动发送给不同的客户。 原始数据如下: 需要将生的最近n天明细表格如下 大概思路如下:获取邮箱->处理数据->生成EXCEL->生成Email 在...
  • 我作为一个入门的数据分析师,需要学习很多基本功,现转载这篇博文,在此...而且大部分报表都是重复性的工作,这篇文章就是帮助大家如何用Python来实现报表的自动发送,解放你的劳动力,可以让你有时间去做更有意...
  • 进入BEIDOU组的第一个项目就是实现一个统计报表自动发送邮件的应用,利用Shell脚本来做,期间回顾了awk,sed等文本过滤工具,crontab计划任务,还学会了在Linux下发送HTML邮件附带MS WORD/EXCEL/PPT格式附件的方法,...
  • 1、最近公司实现部分数据统计、分析的...不过发现网上各种文档都是未经过整理,代码写的很不友善,比如发送多人的只能发送前一个邮箱,附件写死不灵活等等,故特写一遍比较记录。 主要会遇到的几个问题: 1、smtplib.S
  • 用window服务写的一个定时发送邮件的小程序.经过测试可用.有详细的windows服务安装步骤和卸载步骤!
  • 1.设置发送邮件邮箱的SMTP服务 https://www.360kuai.com/pc/927b9f8da3555bb70?cota=4&kuai_so=1&tj_url=xz&sign=360_57c3bbd1&refer_scene=so_1 设置步骤时,记住设置的邮箱的独立密码,在以下...
  • Python 简单发送邮件 / 发送带各种附件邮件

    万次阅读 多人点赞 2018-06-04 13:55:05
    写个自动发送邮件的python脚本。 用脚本发送邮件思路是:登陆邮箱-->写邮件-->发送邮件 发送邮箱设置: 得开通自己邮箱的 SMTP 功能,具体可百度。 以163网易邮箱为例: 设置 --> POP3/SMTP/IMAP --&...
  • IT小修 2017-05-14 07:00 JAVA自动发送带附件邮件 ...今天就以网易邮箱作为发件邮箱服务器来示例一下通过JAVA自动发送携带附件邮件。 1、准备工作(jar包) mail.jar(Java邮箱操作核心jar包) sun.mi
  • 用Perl自动发送带有附件的电子邮件

    千次阅读 2012-05-29 23:50:05
    用Perl自动发送带有附件的电子邮件 用Perl自动发送电子邮件使用的是Net::SMTP::SSL模块,发送附件依然需要用它,但是会增加一个模块MIME::Lite。我想许多人和我一样,看到Lite就会触发一些温伯格所说的小小的心理...
  • 为了项目方便和代码备份,简单写了一个自动压缩指定文件夹并且作为附件发送邮件到指定邮箱的脚本。 需求: 1、目标文件夹:D:\mydev\python 2、取第1步中的目标文件夹,自动压缩生成压缩文件zip 3、将第2步中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,443
精华内容 13,377
关键字:

自动邮件附件