ddxiami

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1538|回复: 0

监听数据库,发送邮件提醒

[复制链接]
发表于 2023-7-21 09:52:30 | 显示全部楼层 |阅读模式
#!/usr/bin/python3

import mysql.connector

import requests
import smtplib
from email.header import Header
from email.mime.text import MIMEText
from datetime import datetime

# 第三方SMTP服务的账号信息
mail_host = "smtp.163.com"      # SMTP服务器
mail_user = "xxxxxx@163.com"                  # 用户名
mail_pass = "xxxxxxxxxxxx"               # 授权密码,非登录密码

sender = 'xxxxxx@163.com'    # 发件人邮箱(最好写全, 不然会失败)
receivers = ['xxxxxx@qq.com', 'xxxxxx2@qq.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

def sendEmail():

    message = MIMEText(content, 'plain', 'utf-8')  # 内容, 格式, 编码
    message['From'] = "{}".format(sender)
    message['To'] = ",".join(receivers)
    message['Subject'] = title

    try:
        smtpObj = smtplib.SMTP_SSL(mail_host, 465)  # 启用SSL发信, 端口一般是465
        smtpObj.login(mail_user, mail_pass)  # 登录验证
        smtpObj.sendmail(sender, receivers, message.as_string())  # 发送
        print("mail has been send successfully.")
    except smtplib.SMTPException as e:
        print(e)


mydb = mysql.connector.connect(
  host="127.0.0.1",
  user="dbuser",
  passwd="dbpwd",
  database="dbname"
)



start_time = int(datetime.timestamp(datetime.now())) - 121
mycursor = mydb.cursor()
mycursor.execute("SELECT count(*) FROM niu_store_order WHERE paid=1 AND add_time>="+str(start_time)+" ORDER BY id DESC LIMIT 10")
myresult = mycursor.fetchall()     # fetchall() 获取所有记录
#订单判断
if myresult[0][0] > 0:
    title = '管理员,您有新的订单要处理-' + str(datetime.now())
    content = '请及时关注和处理'
    sendEmail()
    #print('您有新的订单要处理')


























回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|技术文档库 ( 闽ICP备15017263号-2 )|网站地图

GMT+8, 2025-5-18 20:38 , Processed in 0.044820 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表