• 发消息示例


    一、http://mail.126.com/ 发送邮件

    import smtplib
    from email.mime.text import MIMEText
    from email.utils import formataddr
    
    msg = MIMEText('老大,我今天需要请假。', 'plain', 'utf-8')  # 发送内容
    msg['From'] = formataddr(["morgana", 'xxxx@126.com'])  # 发件人
    msg['To'] = formataddr(["m", 'ooooo@qq.com'])  # 收件人
    msg['Subject'] = "【请回复】请假事宜"  # 主题
    
    server = smtplib.SMTP("smtp.163.com", 25) # SMTP服务
    server.login("xxxx@126.com", "密码") # 邮箱用户名和密码
    server.sendmail('xxxx@126.com', ['ooooo@qq.com', ], msg.as_string()) # 发送者和接收者
    server.quit()

    二、QQ发送邮箱

    import smtplib
    from email.mime.text import MIMEText
    _user = "你的qq邮箱"  
    _pwd  = "你的授权码"
    _to   = "1234567@163.com"
    
    msg = MIMEText("Test")  #要发送的内容
    msg["Subject"] = "don't panic"   #主题
    msg["From"]    = _user
    msg["To"]      = _to
    
    try:
        s = smtplib.SMTP_SSL("smtp.qq.com ", 465)
        s.login(_user, _pwd)
        s.sendmail(_user, _to, msg.as_string())
        s.quit()
        print("Success!")
    except smtplib.SMTPException as e:
        print()
        print("Falied,%s"%e )
    import smtplib
    from email.mime.text import MIMEText
    from email.utils import formataddr
    
    class Qq(object):
        '''发送邮件'''
        def __init__(self):
            self.email = "6789erefaf@qq.com"  #自己的邮箱
            self.user = "不冷不热的温柔"  #用户名
            self.pwd = "uwaendbwhypweagi"
    
        def send(self,subject,body,to,name):
            print(222)
            msg = MIMEText(body, 'plain', 'utf-8')  # 发送内容
            msg['From'] = formataddr([self.user, self.email])  # 发件人
            msg['To'] = formataddr([name,to])  # 收件人
            msg['Subject'] =subject  # 主题
    
            server = smtplib.SMTP_SSL("smtp.qq.com", 465) # SMTP服务
            print(333333)
            server.login(self.email,self.pwd) # 邮箱用户名和密码
            server.sendmail(self.email, [to, ], msg.as_string()) # 发送者和接收者
            server.quit()

    三、微信发送消息

    https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

    # pip3 install requests
    import requests
    import json
    
    
    def get_access_token():
        """
        获取微信全局接口的凭证(默认有效期俩个小时)
        如果不每天请求次数过多, 通过设置缓存即可
        """
        result = requests.get(
            url="https://api.weixin.qq.com/cgi-bin/token",
            params={
                "grant_type": "client_credential",
                "appid": "wx13f235a73fa3b42e",   
                "secret": "7f5a5ccd89f65de2b73e9eb3a4de9bf8",
            }
        ).json()
    
        if result.get("access_token"):
            access_token = result.get('access_token')
        else:
            access_token = None
        return access_token
    
    def sendmsg(openid,msg):
    
        access_token = get_access_token()
    
        body = {
            "touser": openid,
            "msgtype": "text",
            "text": {
                "content": msg
            }
        }
        response = requests.post(
            url="https://api.weixin.qq.com/cgi-bin/message/custom/send",
            params={
                'access_token': access_token
            },
            data=bytes(json.dumps(body, ensure_ascii=False), encoding='utf-8')
        )
        # 这里可根据回执code进行判定是否发送成功(也可以根据code根据错误信息)
        result = response.json()
        print(result)
    
    
    
    if __name__ == '__main__':
        sendmsg('o2Ifb0va8Xp4zIidu8RYAR57ae-U','你好啊')   #别人关注你才能发消息

    四、短息发送消息

  • 相关阅读:
    jQuery的几个Grid插件简单比较
    位运算符
    Unity --- 纹理压缩基本知识点
    Unity---资源管理中不同资源的路径获取方式
    Unity--- 资源路径问题
    数据结构 --- 基本概念
    《UnityShader入门精要》学习笔记之渲染流水线
    UnityShader中的语义相关
    补充一下角度制与弧度制的相关知识
    NGUI中处理层级问题的几个方法总结
  • 原文地址:https://www.cnblogs.com/morgana/p/8496453.html
Copyright © 2020-2023  润新知