办公自动化-邮件通知和微信通知

2024-01-04

在工作中,或者学习中或者生活上等,需要定时提醒自己或其他人,处理一些待办任务事项,需要发邮件通知下,同时可能会要求发送文件之类的事情。

由于现在大家微信使用频率最高,所以能发送微信通知消息,效果更好。

,同时开通下微信通知功能。

第一步:邮件通知工具

结合之前做过的发送邮件通知,再优化下,增加附件邮件发送功能;

10,Django实战项目-学习任务系统-发送邮件通知

https://mp.weixin.qq.com/s?__biz=Mzg2NDk2MTY3OA==&mid=2247484189&idx=1&sn=e974feca7b3169847b4c9a0e99015f57&chksm=ce6016fcf9179fea5eea0f477093750d261e9602c1bebbaee556bd02543b7fdabccdfd5eadec&token=1824279775&lang=zh_CN#rd

11,Django实战项目-学习任务系统-配置定时调度任务

https://mp.weixin.qq.com/s?__biz=Mzg2NDk2MTY3OA==&mid=2247484200&idx=1&sn=3584ec7126de0044a8424787d566ac06&chksm=ce6016c9f9179fdfe1480df5672ee0da61112a299e37dbc96e27c43f69b9b1ec5fe07fa3e76b&payreadticket=HGJwAEVrtVd3JpyUqg3aj8pQdCYzHTxJ0cZHPtbfghwMCKAggXw7YP7v-wqBId7gxT_s0ag#rd

mailutil.py :

# -*- coding: utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders


def send_mail_util(sender, password, receiver, email_host, subject, content, file_path=None):
    '''
    @方法名称: 通用发送邮件工具
    @中文注释: 通用发送邮件工具
    @入参:
        @param sender str 发送邮箱
        @param password str 发送邮箱密码
        @param receiver str 接收邮箱
        @param email_host str 邮件服务器
        @param subject str 邮件主题
        @param content str 邮件内容
        @param file_path str 邮件附件地址
    @出参:
        @返回状态:
            @return 0 失败
            @return 1 成功
        @返回错误码
        @返回错误信息
        @param
    @作    者: PandaCode辉
    @weixin公众号: PandaCode辉
    @创建时间: 2023-11-02
    @使用范例:
    '''
    try:
        if (not type(sender) is str):
            return [0, "FBC001", "发送邮箱参数类型错误,不为字符串", [None]]
        if (not type(password) is str):
            return [0, "FBC001", "发送邮箱密码参数类型错误,不为字符串", [None]]
        if (not type(receiver) is str):
            return [0, "FBC001", "接收邮箱参数类型错误,不为字符串", [None]]
        if (not type(email_host) is str):
            return [0, "FBC001", "邮件服务器参数类型错误,不为字符串", [None]]
        if (not type(subject) is str):
            return [0, "FBC001", "邮件主题参数类型错误,不为字符串", [None]]
        if (not type(content) is str):
            return [0, "FBC001", "邮件内容参数类型错误,不为字符串", [None]]

        # 你的收件邮箱地址列表
        receivers = [receiver]
        send_user = "<" + sender + ">"
        print(send_user)
        # message = MIMEText(content, 'plain', 'utf-8')
        message = MIMEMultipart()
        message['Subject'] = subject
        message['From'] = send_user
        message['To'] = ";".join(receivers)
        # 设置邮件内容和格式
        message.attach(MIMEText(content, 'plain', 'utf-8'))
        # 附件文件不为空时
        if file_path:
            # 添加附件文件内容
            with open(file_path, "rb") as attachment:
                part = MIMEBase('application', 'octet-stream')
                part.set_payload(attachment.read())
                encoders.encode_base64(part)
                part.add_header('Content-Disposition', f"attachment; filename= {file_path}")
                message.attach(part)

        server = smtplib.SMTP_SSL(email_host, 465)
        server.login(sender, password)
        server.sendmail(sender, receivers, message.as_string())
        server.quit()

        print('邮件发送成功')
        return [1, '000000', '邮件发送成功', [receivers[0]]]

    except Exception as e:
        print("邮件发送失败异常," + str(e))
        return [0, 'FBE999', "邮件发送失败异常," + str(e), [None]]


def send_qq_mail(subject, content, receiver, file_path=None):
    '''
    @方法名称: 发送QQ邮件方法
    @中文注释: 发送QQ邮件方法
    @入参:
        @param receiver str 接收邮箱
        @param subject str 邮件主题
        @param content str 邮件内容
        @param file_path str 邮件附件地址
    @出参:
        @返回状态:
            @return 0 失败
            @return 1 成功
        @返回错误码
        @返回错误信息
        @param
    @作    者: PandaCode辉
    @weixin公众号: PandaCode辉
    @创建时间: 2023-11-02
    @使用范例:
    '''
    try:
        if (not type(receiver) is str):
            return [0, "FBC001", "接收邮箱参数类型错误,不为字符串", [None]]
        if (not type(subject) is str):
            return [0, "FBC001", "邮件主题参数类型错误,不为字符串", [None]]
        if (not type(content) is str):
            return [0, "FBC001", "邮件内容参数类型错误,不为字符串", [None]]

        sender = '*********@@qq.com'
        # 通过QQ邮箱设置获取的授权码,不是邮箱密码
        password = '************'
        # 设置服务器:这个是qq邮箱服务器
        email_host = "smtp.qq.com"
        # 通用发送邮件工具
        rst = send_mail_util(sender, password, receiver, email_host, subject, content, file_path)
        return rst

    except Exception as e:
        print("邮件发送失败异常," + str(e))
        return [0, 'FBE999', "邮件发送失败异常," + str(e), [None]]


# 主方法
if __name__ == '__main__':
    receiver = '*********@qq.com'
    subject = '邮件主题,不带附件文件邮件'
    content = '邮件内容,不带附件文件邮件'
    # 发送qq邮件测试,不带附件文件邮件
    send_qq_mail(subject, content, receiver)

    subject = '邮件主题,带附件文件邮件'
    content = '邮件内容,带附件文件邮件'
    file_path = './file_path/test.xlsx'
    # 发送qq邮件测试,带附件文件邮件
    send_qq_mail(subject, content, receiver, file_path)

第二步:开通微信通知功能

怎么实现的微信通知呢?秘密就是把微信的邮件功能打开,如下:


微信设置
微信:我 → 设置 通用 辅助功能 QQ邮箱提醒 开启功能
这样就能让微信收到消息提醒了。

多说一句,请勿尝试用itchat、wxpy等第三方库操作微信,微信官方已停用这类工具,且存在封号风险!不信你就逝世!

第三步:运行效果

=======================end=======================

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

办公自动化-邮件通知和微信通知 的相关文章

随机推荐

  • macbook录屏快捷键大全,教你快速录制视频

    有人知道macbook电脑有录屏快捷键吗 现在录屏的速度太慢了 每次打开都要浪费不少时间 要是有录屏快捷键 应该会快很多 有哪位大佬知道吗 教教我 无论是在工作还是生活中 电脑已成为不可或缺的工具 而macbook作为苹果公司推出的一款笔记
  • MIT_线性代数笔记:第 23 讲 微分方程和 exp(At)

    目录 微分方程 Differential equations 矩阵指数函数 Matrix exponential e A t e At
  • SSM+数据库原理课程考试网站-计算机毕业设计源码78952

    摘 要 信息化社会内需要与之针对性的信息获取途径 但是途径的扩展基本上为人们所努力的方向 由于站在的角度存在偏差 人们经常能够获得不同类型信息 这也是技术最为难以攻克的课题 针对在线考试等问题 对如何通过计算机在线考试进行研究分析 然后开发
  • Kotlin采集美团商家信息 同行竞争价格监控

    南方小土豆 挤爆哈尔滨旅游市场 一个冬天让哈尔滨火出了圈 让全国观众看见了不一样的逆向旅游热 虽说我心驰神往 但是无奈加班敲代码 连休息的时间都没有 前段时间我通过用java写了一个美团爬虫程序 今天我 利用java的Kotlin库来写个美
  • gitlab高级功能之Kubernetes Agent介绍

    文章目录 1 前置条件 2 简介 3 GitLab Kubernetes Agent 的部署 3 1 启用 Agent 服务端 3 2 创建 Agent 配置和清单仓库 4 安装agent
  • 景联文科技GPT教育题库:AI教育大模型的强大数据引擎

    GPT 4发布后 美国奥数队总教练 卡耐基梅隆大学数学系教授罗博认为 这个几乎是用 刷题 方式喂大的AI教育大模型的到来 意味着人类的刷题时代即将退出历史舞台 未来教育将更加注重学生的个性化需求和多元化发展 借助GPT和AI教育大模型为每位
  • 振动信号数据如何制作特征?

    对振动信号进行特征提取是故障诊断和预测中常见的任务 下面是一些可能对振动信号有用的特征 时域特征 均值 Mean 标准差 Standard Deviation 峭度 Kurtosis 偏度 Skewness 峰值因子 Peak to Pea
  • 探索 OceanBase 中图数据的实现

    在数据管理和处理的现代环境中 对能够处理复杂数据结构的复杂数据模型和方法的需求从未如此迫切 图数据的出现以其自然直观地表示复杂关系的独特能力 开辟了数据分析的新领域 虽然 Neo4j 等成熟的图形数据库为处理图形数据提供了强大的解决方案 但
  • 阿里云服务器地域怎么选择?哪个地域好?

    阿里云服务器地域和可用区怎么选择 地域是指云服务器所在物理数据中心的位置 地域选择就近选择 访客距离地域所在城市越近网络延迟越低 速度就越快 可用区是指同一个地域下 网络和电力相互独立的区域 可用区之间可以做到故障隔离 将应用部署到不同可用
  • three.js使用正方体加图片实现全景看房效果

    three js使用正方体加图片实现全景看房效果 实现方法 创建一个正方体 加载6张纹理贴图 正方体z轴缩放 1 调整相机位置 图例 代码
  • 在centos7部署redis7

    一 目标 在centos7 9上部署安装redis 7 2 3 二 步骤 官网 https redis io download 1 下载合适版本的redis wget https github com redis redis archive
  • 【Python】Python中逗号转为空格的方法

    Python中将逗号转换为空格的几种方法 以及将其应用在实际开发中的示例 Python是一种功能强大的编程语言 其提供了很多内置函数 方便我们快速 高效地处理数据 一 使用replace函数 Python中的字符串函数replace可以用来
  • vue项目日期处理day.js

    dayjs安装 1 npm 安装 npm install dayjs save 2 项目使用 import dayjs from dayjs ES 2015 dayjs format 使用介绍 1 秒 获取或设置秒 接受0到59的数字 如果
  • Mybatis Plus 基础功能 BaseMapper和基础配置以及注解

    文章目录 Mybatis Plus 导入依赖 定义Mapper 约定 常见配置 Mybatis Plus 导入依赖 官网看一下也行 plus官网 spring boot3 版本
  • Python机器学习实战:用Python构建10个有趣的应用

    机器学习是一门强大的工具 可以用于解决各种各样的问题 通过学习机器学习 您可以开发出能够自动化任务 做出预测甚至创造艺术的应用程序 如果您是一名 Python 开发人员 那么您将很高兴知道 有许多可以用 Python 构建的有趣机器学习应用
  • 江河湖泊生态水文监测物联网解决方案

    方案背景 江湖湖泊具有重要的经济效益和生态效益 是重要的资源储备 近年来 各级积极采取措施 加强江河湖泊治理 管理和保护 在防洪 供水 发电 航运 养殖等方面的综合发展 随着纳入管理的江河湖泊等水体越来越多 范围越来越广 很多水污染 非法采
  • Laya游戏开发中AI寻路解决方案

    1 AI自动寻路 机器人代码重构 按照目标点去执行逻辑 提前几帧判断直线 非直线的情况下 预设转弯角度 角度判断到达直线后开始执行到目标点的逻辑 2 U3D布点寻路 3 NevMesh Js寻路插件 NevMesh Js你可以在Laya引擎
  • Python生成器:优雅而高效的迭代器

    本文将为大家介绍下 Python 中的 生成器 它有何强大之处 实际开发任务中 for循环与生成器我们将如何取舍 Python是一种强大而灵活的编程语言 拥有丰富的标准库和特性功能 其中之一就是 生成器 生成器 是Python中一种非常实用
  • TXT文本删除第一行文本变成空要如何解决呢

    首先大家一起来看下这个TXT文本里面有多行内容 想把开头第一行批量删除不要掉 1 如果是一两个本可以手动删除也很方便哦 如果文本量比较大如几十几 几百个文本大家一直都选用 首助编辑高手 工具去批量操作哦 批量操作可以大大提高工作效率 接来看
  • 办公自动化-邮件通知和微信通知

    在工作中 或者学习中或者生活上等 需要定时提醒自己或其他人 处理一些待办任务事项 需要发邮件通知下 同时可能会要求发送文件之类的事情 由于现在大家微信使用频率最高 所以能发送微信通知消息 效果更好 同时开通下微信通知功能 第一步 邮件通知工