发消息示例
一、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(["海燕", 'xxxx@126.com']) # 发件人
msg['To'] = formataddr(["雅玲", '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 = "501257367@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 = "2533916647@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','你好啊') #别人关注你才能发消息