python 邮件转微信
发表于|更新于
|字数总计:585|阅读时长:2分钟
概述
python 邮件转 微信
具体实现如下
在日常工作中,我们会经常收到邮件,有些是重要的邮件我们希望第一时间知晓,如领导发送的邮件,程序报警邮件。微信是我们使用频率最高的 app 了,因此如果能把邮件内容及时发送到微信,我们就可以及时获取邮件信息,进而采取相应行动。比打开邮件客户端再点击邮件查看要方便多了。
需要安装第三方库 wxpy,wechat_sender,zmail
pip install wxpy pip install wechat_sender pip install zmail
|
原理:使用 wxpy 登陆网页版微信,使用 wechat_sender 监听 wxpy 登陆的微信,使用 zmail 获取邮件。
思维导图如下:
完整代码
文件一 :startWechat.py
from wxpy import * from wechat_sender import listen
bot = Bot(cache_path=True)
@bot.register(Friend) def save_msg(msg): tuling.do_reply(msg) print(msg, file=open("./saved.txt", "a"))
@bot.register(msg_types=FRIENDS) def new_friend(msg): user = msg.card.accept() user.set_remark_name( msg.text.replace("我是", "").replace("我", "").replace(" ", "") )
listen(bot)
|
请执行 python startWechat.py 并扫二维码登陆微信,并让它持续运行。
文件二:SendMail2wechat.py
from wechat_sender import Sender import zmail import time
mail_user = "******@xxx.com" mail_pwd = "******" mail_host = "pop3.163.com"
server = zmail.server(mail_user, mail_pwd, pop_host = mail_host) mail = server.get_latest() id = mail["id"] - 1
while True: try: mail = server.get_latest() maxid = mail["id"] while id < maxid: id += 1 mail = server.get_mail(id) content = "".join(mail["content"]) if mail["content"] != [] else "".join( mail["content_html"] ) message = f"""发件人:\n{mail['from']}\n主题:\n{mail['subject']}\n正文:\n{content}""" send_ip = mail["raw"][17].decode("utf-8").split(":")[1].replace(" ", "") Sender().send(message) if id > maxid: id = maxid except Exception as e: server = zmail.server(mail_user, mail_pwd, pop_host = mail_host) time.sleep(30)
|
运行 python SendMail2wechat.py,消息会自动发送至文件传输助手,当然也可以自己调。。。。