python查数据库发邮件

有时候需要将数据库中的统计信息统计好之后,直接每天定时发邮件。

可用python脚本写好逻辑后,使用crontab每天定时执行

 

# -*- coding: UTF-8 -*-
import MySQLdb
import smtplib 
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText

def queryDBdata():    
    #连数据库
    conn = MySQLdb.connect(host='****', user='***', passwd='****', db='***', port=3307, charset='utf8')
    querySQL="select sum(num),date from (SELECT count(e.order_num) num, date_format(r.order_date,'%Y-%m-%d') date from orders_extension e INNER JOIN commission_order r ON e.order_num=r.order_no where e.ex_cookie like '%bd%' and e.biz_type='COMMISSION' and date_format(r.order_date,'%Y-%m')=date_format(NOW(),'%Y-%m') group by date_format(r.order_date,'%Y-%m-%d')  union ALL  SELECT count(e.order_num) num, date_format(r.order_date,'%Y-%m-%d') date from orders_extension e INNER JOIN order_info  r ON e.order_num=r.order_num where e.ex_cookie like '%bd%' and e.biz_type='PPB' and date_format(r.order_date,'%Y-%m')=date_format(NOW(),'%Y-%m')  group by date_format(r.order_date,'%Y-%m-%d') ) a group by date"
    cur = conn.cursor()
    cur.execute("set names 'utf8'")
    cur.execute(querySQL)
 
    #获取数据
    data="每天晚上九点自动发统计邮件\n\n"+"|    总订单数        |        日期                 |"+"\n"
    results = cur.fetchall()
    for r in results:
        data=data+"|    "+str(r[0])+"    "+"|    "+str(r[1])+"    |\n"
      
    return data



def send_mail(content):
    try:
        mailToList=['yebing.li@163.com',"erte@163.com"]
        sender='yebing.li@163.com'
        mailto=",".join(mailToList)
        msg = MIMEMultipart()
        msg['Subject'] = "本月****来源的订单"
        msg['to'] = mailto
        msg['From'] = sender
        body = MIMEText(content)
        msg.attach(body)
        smtp = smtplib.SMTP('mail.163.com')
        smtp.sendmail(sender,mailToList,msg.as_string())

        smtp.quit()
    except smtplib.SMTPException, e:
        print "error...%d: %s" % (e.args[0], e.args[1])
        
        
        
if __name__=="__main__":
    content=queryDBdata()
    send_mail(content)

 

 

 其中crontab  -e 编辑表达式

python查询数据库并发送邮件 # coding=gbk import smtplib import MySQLdb import datetime import time from email.mime.text import MIMEText mail_to = "" mail_host = "smtp.qq.com" mail_user = "****@qq.com" mail_pass = "****" mail_p 阅读详情

相关推荐

python从数据库中拉数据做报表发邮件

一个完整的azkaban的调度示例,从mysql中表中拉取数据,组装成html,然后以邮件的方式发出来,只要对应修改里面的邮件、表、数据库配置就可以了,时间紧,没有全部写成配置的形式,但愿不用太多的学习成本

python mysql 发邮件,Python实现的查询mysql数据库并通过邮件发送信息功能

本文实例讲述了Python实现的查询mysql数据库并通过邮件发送信息功能。分享给大家供大家参考,具体如下:这里使用Python查询mysql数据库,并通过邮件发送宕机信息。Python代码如下:#-*- coding: UTF-8 -*-#!/usr/bin/env python'''''author:qlzhongCreated on 2015-6-29征途宕机日志统计汇总'''import ...

weixin_33946999的博客 819

python 实现查询mysql数据并发送邮件

python 实现查询mysql数据并发送邮件

python收集数据发邮件_python查数据库发邮件

有时候需要将数据库中的统计信息统计好之后,直接每天定时发邮件。可用python脚本写好逻辑后,使用crontab每天定时执行# -*- coding: UTF-8 -*-import MySQLdbimport smtplibfrom email.MIMEMultipart import MIMEMultipartfrom email.MIMEText import MIMETextdef que...

weixin_26908317的博客 498

AutoCAD 2025在Win10/Win11上的官方安装、配置与问题排查全指南

对于需要在 Windows 11 或 Windows 10 系统上部署 AutoCAD 2025 的设计师、工程师和 IT 支持人员来说,一个稳定、合规的安装流程是高效工作的基石。网络上充斥着各种所谓的“免费下载”和“一键安装”教程,但这些资源往往来源不明,可能捆绑恶意软件、导致软件崩溃,甚至引发严重的许可合规风险。本文旨在提供一个清晰、安全、基于官方最佳实践的 AutoCAD 2025 安装与配置指南,重点解决在 Windows 11 和 Windows 10 系统上部署时可能遇到的兼容性问题、安装失败以

weixin_34396103的博客 450

别让IO口保护二极管坑了你!实测讲解单片机电流倒灌的三种典型症状与防护

本文深入解析单片机电流倒灌的三大典型症状与防护方案,重点分析STM32等单片机在ADC采样异常、系统假死和通信速率异常中的表现。通过实测数据和电路设计建议,提供从基础二极管隔离到专业隔离器件的分级防护策略,帮助工程师有效预防和解决电流倒灌问题。

weixin_29280219的博客 347

用Python 让大模型自动调用 Excel、发邮件、查数据库,变成你的实习生

本文介绍了如何利用Python将大语言模型(LLM)转变为自动化工具,实现Excel操作、邮件发送和数据库查询等功能。核心思路是让LLM作为"调度员",通过生成Python代码来执行具体任务。文章提供了一个基础框架,使用OpenAI兼容接口和函数调用功能,通过安全执行器运行模型生成的代码。具体实现包括:Excel自动化(数据汇总与图表生成)、邮件自动发送(使用yagmail库)以及数据库查询(通过SQLAlchemy执行SELECT操作)。这种方法可以将LLM转化为高效的"数字实习生",自动完成日常办公任务

IT老农民的博客 572

BIM模型导入SuperMap

目录 一、超图 BIM插件安装 1.1 插件下载 1.2 安装 二、BIM模型导出 2.1 Revit插件导出 2.2 SuperMap导入工具 三、SuperMap BIM数据处理与服务发布 四、SuperMap三维数据处理中关于模型高程修改方法 一、超图 BIM插件安装 1.1 插件下载 下载链接:http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?tt=ProductAAS&id=134 1..

爱晒太阳的风 3599

用 Python 自动化办公能做到哪些有趣或有用的事情?【乐搏TestPro】

大家好,我是一名python自动化的讲师,做自动化少算也有六年多了,这六年自动化可没少帮助我。 先说几个简单的事情,想想就想乐的事情。 第一个我用自动化写了一个定时器,超级简单哦~ from apscheduler.schedulers.blocking import BlockingScheduler from datetime import datetime import os #打印现在时间 def tick(): print('Tick! The time is: %s' % datetim

leboxy的博客 756

ADRV9009学习资料保存:基于XC7Z100+ADRV9009的双收双发无线电射频板卡

ADRV9009学习资料保存:基于XC7Z100+ADRV9009的双收双发无线电射频板卡 一、板卡概述 基于XC7Z100+ADRV9009的双收双发无线电射频板卡是基于XilinxZYNQFPGA和ADI的无线收发芯片ADRV9009开发的专用功能板卡,用于5G小基站,无线图传,数据收发...

9369

ArcGIS属性表汉字转拼音

接着我安装了一个编辑器“PyCharm Community Edition 2019.3.3\bin\pycharm64.exe”,在里面添加“pypinyin”包,然后将其设置为arcgis的编辑器和调试程序,还是失败;我在10.6的机器上折腾了上面几步,直到两周后脚本突然运行成功,我也不确定是哪一步导致pypinyin包配置成功,因此将心得体会写出来,如果过一段时间,打开10.2的机器运行脚本成功了,再写后续.......,按照“配置方法1:”进行尝试,显示配置失败。

2301_77413856的博客 1295

从零搭建AI Agent实战(非常详细),Python智能体开发从入门到精通,收藏这一篇就够了!

用一篇文章带你走完AI Agent开发的全流程,从大模型调用到业务闭环,代码能跑,原理能懂。

m0_59235945的博客 246

C语言从句柄到对象 (一) —— 全局变量的噩梦与“多实例”的救赎

本文探讨了嵌入式开发中句柄(Handle)的概念与应用。通过电机控制案例,分析了传统单例模式在扩展性上的局限,并展示了如何通过句柄实现代码复用:将电机状态封装为结构体,通过指针(句柄)传递实例数据,使同一套逻辑可操作多个实例。文章比较了单例模式与句柄模式的适用场景,建议底层驱动库默认采用句柄模式以提高扩展性。最后指出当前实现仍存在数据暴露风险,预告下期将介绍不透明指针技术实现更安全的封装。全文揭示了句柄作为C语言实现模块化和面向对象设计的关键作用。

一路往蓝-Anbo 的博客 1341

python发邮件不出原因_解决Python不能发邮件问题

今天一下午就在搞它了。先附上源代码:#coding:utf-8import smtplibfrom email.mime.text import MIMETextfrom email.header import Headersender = "xx@163.com"receiver = "yy@qq.com"subject = "测试邮件"smtpserver = "smtp.163.com"us...

weixin_30220993的博客 1361

【我的Android进阶之旅】解决android应用使用android:persistent属性带来的系统Launcher应用必须重启设备才生效的问题,大幅度提升开发效率

一、问题描述 我们在开发系统级别应用,比如Launcher桌面的时候,会发现有个问题:每次Launcher修改完代码,重新编译之后,安装到android设备上之后,必须重启才会生效。否则就是使用了之前的Launcher版本的内容。而每次重启设备得一分钟左右,太慢了,太影响效率了! 1.1 痛点 每次更新完代码,重新安装之后,必须重启设备才会生效。效率太TM低了! 二、分析问题 经过一轮代码排查,最终发现是因为src\main\AndroidManifest.xml文件中,定义application使用了an

字节卷动 1713

uniapp(安卓苹果app端) - 微信小程序分享提示报错“由于不支持的分享类型无法分享到微信“,“由于应用和小程序未绑定在同意微信开放平台账号,无法分享到微信“解决办法,uniapp小程序分享失败

uni-app,安卓app,苹果app,手机app端,苹果ios,安卓Android,移动端app,分享,微信分享,微信朋友圈,微信好友,转发,vue2,vue3,App端调用手机的系统分享,微信小程序,分享功能,原生app分享小程序到微信,可分享到微信、朋友圈等,报错,uniapp分享报错由于不支持的分享类型无法分享到微信,未审核应用,uniApp安卓苹果app报错由于应用和小程序未绑定在同意微信开放平台账号,无法分享到微信,微信appid,已经配置了,还是报错,无法解决,一直提示,APP_ID错误,打包

✅ 精选推荐文章 5510

python查询数据库发送邮件,附件csv格式,xlsx格式

python查询数据库发送邮件,附件csv格式,xlsx格式

qq_44659804的博客 548

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

python异常捕获和写到mysql_Python基础(6)——sys模块、异常处理、发邮件、excel操作、连接mysql...

目录:一、sys模块二、异常处理三、发邮件四、excel操作五、连接mysql正文:一、sys模块sys.argv用来运行python文件的的时候传过来的参数print(sys.argv)当使用命令行执行#使用方法importsys,oscommand= sys.argv[1]if command == 'install':model_mame=sys.argv[2]print('install ...

weixin_39710396的博客 340

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

220901 Python学习:xlwt模块、xlrd模块、python发邮件流程和发邮件代码编写、open方法

但是一般在文件操作后都需要关闭(close)文件,写操作后需要保存(save)关闭文件;因为在文件被操作时是出于占用状态,除非执行关闭操作或者程序结束,否则文件不会被关闭。不要奢求xlwt能够对一个已经存在的文件进行写操作,因为其无法加载(读)操作。注意:xls文件使用xlrd读取数据时整型会变为浮点型,xlrd 模块在读取文件之后不需要关闭或保存。注意:使用python发送邮件,涉及两个内置模块:smtplib、email。一、python发邮件流程:登录、写邮件、发送。

Huela_Hu的博客 358

python mysql 发邮件_python 数据库mysql、redis及发送邮件

python 关系型数据库链接使用--mysqlimport pymysql # 引用mysql模块# 创建连接,指定数据库的ip地址,账号、密码、端口号、要操作的数据库、字符集coon = pymysql.connect(host='118.24.3.40',user='jxz',password='123456',port=3306,db='jxz',charset='utf8',aut...

weixin_34208146的博客 268

python收集数据发邮件_Python 提取数据库(Postgresql)并邮件发送

刚入门python,发现确实是一个不错的语言。业务部门要求将将某一个数据库中的表,定期发送到相关部门人员邮箱。其实整个业务需求很简单,实现起来也不难。但是由于刚入门python,所以还是借鉴了不上网上的内容,也得到了许多群友的提醒。业务部门使用的是Postgresql数据库,所以使用 了psyconpg2的模块。整个脚本分为三部分:1.数据库的连接及数据写入excel表中(整个对新手来说,应该是难...

weixin_39634508的博客 256

python创建数据库发邮件邮箱,

from email.mime.text import MIMEText from email.header import Header import smtplib m = MIMEText('python test mail\n','plain' , 'utf8') #邮件正文 #为邮件添加头部信息 m['From'] = Header("root",'utf8') # 发件人 m['to'] = Header('lisi','utf8') #收件人 m['Subject'] = Header('

m0_57261942的博客 391

用python自动发邮件_python自动发邮件总结及实例说明

python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用。smtplib模块主要负责发送邮件:是一个发送邮件的动作,连接邮箱服务器,登录邮箱,发送邮件(有发件人,收信人,邮件内容)。email模块主要负责构造邮件:指的是邮箱页面显示的一些构造,如发件人,收件人,主题,正文,附件等。#!/usr/bin/python3# smtpl...

weixin_39923262的博客 315

python mysql 发邮件_Python读取ini文件、操作mysql、发送邮件实例

我是闲的没事干,2014过的太浮夸了,博客也没写几篇,哎~~~ 用这篇来记录即将逝去的2014python对各种数据库的各种操作满大街都是,不过,我还是喜欢我这种风格的,涉及到其它操作,不过重点还是对数据库的操作。呵~~Python操作MysqL首先,我习惯将配置信息写到配置文件,这样修改时可以不用源代码,然后再写通用的函数供调用新建一个配置文件,就命名为conf.ini,可以写各种配置信息,不过...

weixin_35869861的博客 333

python实现自动发邮件功能

把爬到的数据发送到邮箱

weixin_44857268的博客 1066

python发邮件模板

代码模板 # -*- coding: utf-8 -*- """ Created on Thu Apr 9 09:57:43 2020 @author: Administrator """ from pyhive import presto import os import pandas as pd import warnings from smtplib import SMTP_SSL f...

weixin_42983055的博客 724
上一篇: 解决线上故障-python分析日志脚本
下一篇: 做业务项目的checkList
liyebing
博客等级 码龄20年 32粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值