最简单的微信个人推送实现方法及示例代码

背景

生活中有许多信息需要及时知晓,例如

我们需要一个生活小助手,给我们推送天气情况重要的程序结果、预警信息或新闻产生时,希望即时了解

都需要推送服务。这些时候我们只想用最低的成本实现消息推送,也不需要考虑太多适配性的问题。目前实现信息推送的方法较多,主流的包括:

微信公众平台:微信提供了订阅号和服务号,但存在推送频率的限制,同时消息提醒不明显企业微信:主要面向企业用户,功能侧重办公管理。其注册和设置流程较为复杂,普通用户日常使用场景较少,和个人日常接收消息的需求契合度不高微信机器人:相当于把一个微信账号跑在云端,这不是官方推荐的方法,限制也比较多,还可能被封号。而且现在微信号注册页越来越难了手机系统自带推送:像个推、友盟推送等,功能强大,但大多按推送量收费。最主要的是需要自己开发一个 app,这样开发起来很麻烦邮箱推送:用户通过手机邮箱 APP 接收邮件通知。虽然邮件能承载较多内容,但实时性差

有没有简单、低成本且适合个人使用的推送方法?答案是肯定的。下面介绍一种通过邮箱与微信绑定,借助简单程序代码实现微信推送的方法,无需复杂开发,就能搭建起个人信息推送通道。

注册发件邮箱并获取授权码(AK)

以 126 邮箱为例,访问126 邮箱官网,点击 “注册”,按页面提示填写信息完成注册。注册成功后登录邮箱,进入设置页面,在 “POP3/SMTP/IMAP” 相关设置中开启 SMTP 服务,开启时系统会生成授权码,这个授权码后续发送邮件时会用到,一定要妥善保存。

将微信与 QQ 邮箱绑定并置顶

打开微信,搜索 “QQ 邮箱提醒” 公众号并关注。进入公众号,点击底部菜单栏 “更多设置” - “绑定邮箱账号”,输入 QQ 邮箱账号和密码完成绑定。绑定后,在微信聊天列表中找到 “QQ 邮箱提醒” 公众号,长按选择 “置顶聊天”,方便及时查看新邮件提醒。

程序发送邮件实现微信推送

以 Python 为例,利用smtplib库和email库可以实现邮件发送,进而完成微信推送。具体代码如下:

import smtplib​

from email.mime.text import MIMEText​

from email.header import Header​

# 发件人邮箱账号,换成你自己注册的126邮箱​

sender_email = "your_126_email@126.com"​

# 发件人邮箱授权码,即前面获取的授权码​

sender_password = "your_authorization_code"​

# 收件人邮箱账号,填绑定微信的QQ邮箱​

receiver_email = "your_qq_email@qq.com"​

# 邮件主题​

subject = "微信推送测试"​

# 邮件内容​

message = MIMEText('这是一条通过程序发送的微信推送消息', 'plain', 'utf-8')​

message['From'] = Header("推送通知", 'utf-8')​

message['To'] = Header("接收者", 'utf-8')​

message['Subject'] = Header(subject, 'utf-8')​

try:​

# 创建SMTP对象,连接到126邮箱的SMTP服务器​

server = smtplib.SMTP('smtp.126.com', 25)​

# 登录发件人邮箱​

server.login(sender_email, sender_password)​

# 发送邮件​

server.sendmail(sender_email, receiver_email, message.as_string())​

print("邮件发送成功")​

# 关闭连接​

server.quit()​

except smtplib.SMTPException as e:​

print("Error: 无法发送邮件", e)