DigitalOcean 的 12 天(第 8 天)- 将 Postmark 连接到您的 Flask 应用程序(您的.连接到.应用程序.DigitalOcean.Postmark...)

wufei1232025-01-08python6
今天,您将设置邮戳来处理传入电子邮件。 Postmark 接收电子邮件,将其转换为易于处理的 JSON 数据,并将其发送到您的应用程序。这意味着您不必担心管理电子邮件服务器或解码原始电子邮件格式 - Postmark 会为您处理所有这些事情。 在本教程结束时,您将完成一个设置,发送到专用地址的电子邮件会自动转发到您的 Flask 应用程序,准备好进行记录、存储或分析。

DigitalOcean 的 12 天(第 8 天)- 将 Postmark 连接到您的 Flask 应用程序

通过此设置,Postmark 可以处理电子邮件解析的繁重工作,以便您的应用可以专注于使用数据 - 无论是将数据存储在数据库中、清理数据还是准备分析。

Email processing flow diagram

分步指南

您将首先更新 Flask 应用程序来处理传入电子邮件。 然后,您将配置 Postmark 以将电子邮件数据发送到您的应用程序并进行测试

第 1 步 - 更新您的 Flask 应用程序

您的应用程序需要一个 Postmark 可以发送电子邮件数据的路由。让我们进行设置。

  1. 打开您的 app.py 文件并添加以下内容code:

    from flask import Flask, request, jsonify
    
    app = Flask(__name__)@app.route('/inbound', methods=['POST'])def inbound():
        # Parse the JSON data sent by Postmark
        email_data = request.get_json()
    
        # Extract useful information
        subject = email_data.get('Subject', 'No subject')
        from_email = email_data.get('FromFull', {}).get('Email', 'Unknown sender')
        body = email_data.get('TextBody', '')
    
        # Log the details (or process them)
        print(f"Received email from {from_email} with subject: {subject}")
        print(f"Body: {body}")
    
        return jsonify({"status": "success"}), 200
  • 此代码设置新的/入站路线它做了三件事:

    • 监听 POST来自邮戳的请求。
    • 从 JSON 负载中提取主题、发件人电子邮件和正文等关键详细信息。
    • 暂时将这些详细信息记录到应用程序的控制台。我们将扩展这个 分析数据并将其存储在数据库中作为下一步。
  • 将更改保存到 app.py。

  • 提交更改并将更改推送到 GitHub 以重新部署应用程序数字海洋:

    git add app.pygit commit -m "Add inbound route for Postmark emails"git push origin main
  1. Terminal showing git commit with Postmark emails

  2. 现在您的应用程序已准备好接收来自 Postmark 的电子邮件数据。前往 DigitalOcean 应用程序平台仪表板并检查应用程序的状态。将其标记为实时后,获取您的应用程序的公共 URL。 Postmark 会将电子邮件数据发送到此 URL。

DigitalOcean app dashboard showing live app

快速提示:如果您想在本地测试,可以使用 Ngrok将您的 Flask 应用暂时暴露在互联网上。运行:

ngrok http 5000

Ngrok 会给你一个类似

以上就是DigitalOcean 的 12 天(第 8 天)- 将 Postmark 连接到您的 Flask 应用程序的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。