python - 如何使用 python 中的 API 发送一封电子邮件,该电子邮件是使用 POST 方法以 html 形式收到的电子邮件?
问题描述
我正在尝试创建一个 HTML 表单,其中当用户输入他们的电子邮件时,它将立即执行发送给他们的电子邮件。我通过Mailgun API和一个超级简单的HTML表单来做到这一点,虽然表单可以工作,并且发送电子邮件的代码作为自己的单独python文件独立工作,但我一生都无法弄清楚两者如何连接。任何帮助或方向将不胜感激!
from flask import Flask, render_template, request
import requests
app = Flask("MyApp")
@app.route('/')
def main():
return render_template("emailform.html")
@app.route("/mail", methods=["POST"])
def sign_up():
form_data = request.form
print form_data["email"]
return "Thanks"
def send_simple_message():
return requests.post(
"https://api.mailgun.net/v3/sandboxurl",
auth=("api", "myapikey"),
data={"from": "Excited User <mailgun@sandboxurl.mailgun.org>",
"to": "email",
"subject": "This is a subject line",
"text": "This is the email body"})
send_simple_message()
app.run(debug=True)
解决方案
用代码替换您的print
语句sign_up
以发送消息。
您可能需要form_data
填写电子邮件呼叫,用表单中send_simple_message
的信息替换您正在使用的硬编码字符串(我建议将表单作为参数传递给send_simple_message
)。
推荐阅读
- c# - 在 AWS 上部署了 blazor 服务器应用程序“错误:如果连接未处于‘已连接’状态,则无法发送数据。” 但适用于本地主机
- flutter - 在它自己的文件或类中拆分对话框
- php - 分页在 CodeIgniter 的搜索记录中多次获取行
- unity3d - 画布显示在游戏视图中但不在构建中
- postgresql - 每次 docker-compose 都会创建一个新的 postgres 数据库吗?
- mysql - 来自两个表的 UNION 记录并支持非 NULL 字段(否则支持第一个表中的值)
- php - XAMPP php包含有效,但包含未加载css
- html - 使用 MaterializeCSS 居中图像的问题
- firebase - Flutter 中的慢速 Firestore 查询
- python - flake8 没有在用户目录中获取全局配置文件