使用python_Flask框架_懒人精灵客户端发送邮件

[复制链接]
查看1652 | 回复3 | 2021-11-28 11:23:50 | 显示全部楼层 |阅读模式
使用python,Flask框架实现懒人精灵客户端发送请求信息在客户端发送邮件.
示例使用的网易的163邮箱需开启邮箱”SMTP服务”
邮箱注册地址:网易邮箱
QQ截图20211128112010.png

懒人精灵服务端发送邮件.py 文件源码:
  1. import json
  2. import os
  3. import smtplib
  4. from email.mime.text import MIMEText
  5. from flask import Flask, request, make_response,send_from_directory

  6. app = Flask(__name__)

  7. def set_Email(userEmail,sendstr,title):
  8.     # 设置服务器所需信息
  9.     # 163邮箱服务器地址
  10.     mail_host = 'smtp.163.com'
  11.     # 163用户名
  12.     mail_user = 'aitlo_e_mail'
  13.     # 密码(部分邮箱为授权码)
  14.     mail_pass = 'TJOBPXXXXXXXXX'
  15.     # 邮件发送方邮箱地址
  16.     sender = 'aitlo_e_mail@163.com'
  17.     # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发
  18.     receivers = [userEmail]

  19.     # 设置email信息
  20.     # 邮件内容设置
  21.     message = MIMEText(sendstr, 'plain', 'utf-8')
  22.     # 邮件主题
  23.     message['Subject'] = title
  24.     # 发送方信息
  25.     message['From'] = sender
  26.     # 接受方信息
  27.     message['To'] = receivers[0]

  28.     # 登录并发送邮件
  29.     try:
  30.         smtpObj = smtplib.SMTP()
  31.         # 连接到服务器
  32.         smtpObj.connect(mail_host, 25)
  33.         # 登录到服务器
  34.         smtpObj.login(mail_user, mail_pass)
  35.         # 发送
  36.         smtpObj.sendmail(
  37.             sender, receivers, message.as_string())
  38.         # 退出
  39.         smtpObj.quit()
  40.         return f' {title} 已发送至:{userEmail}'
  41.     except smtplib.SMTPException as e:
  42.         return f'发送错误:error:{e}'  # 打印错误

  43. @app.route("/email",methods=["POST"])
  44. def email():
  45.     # 接收懒人精灵客户端发送post请求数据 调用set_Email函数执行邮件发送,成功后给客户端返回结果信息.
  46.     print(request.form)
  47.     userEmail = request.form.get("userEmail")
  48.     sendstr = request.form.get("sendstr")
  49.     title = request.form.get("title")
  50.     result = set_Email(userEmail, sendstr, title)
  51.     print(result)

  52.     return result

  53. if __name__ == '__main__':
  54.     # app.run()
  55.     app.run(host="0.0.0.0", port="5000", debug=True)
复制代码

懒人精灵服务端发送邮件.lua 文件源码:
  1. function SendData(url,tab)
  2.     -- 客户端发送数据至服务器
  3.     print(tab)
  4.     local ret1,code = httpPost(string.format("%s/email",url),string.format("userEmail=%s&title=%s&sendstr=%s",tab["userEmail"],tab["title"],tab["sendstr"]))
  5.     print(ret1)
  6.     return ret1
  7.    
  8. end
  9. -- userEmail 对方的邮箱地址
  10. -- title             邮件标题
  11. -- sendstr    需要发送的消息内容
  12. -- url          服务器地址
  13. tab = {userEmail="393074304@qq.com",title="懒人精灵邮件",sendstr="懒人精灵发送测试邮件"}

  14. url = "http://192.168.2.108:5000/"
  15. SendData(url,tab)
复制代码


运行结果图片:
2.png 3.png


回复

使用道具 举报

tmv587 | 2021-11-28 11:58:42 | 显示全部楼层
感谢分享!
回复

使用道具 举报

18438626185 | 2022-1-22 14:58:41 | 显示全部楼层

感谢分享
回复

使用道具 举报

yinjiantuan | 2022-2-4 16:20:40 | 显示全部楼层
感谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则