gpt4 book ai didi

google-app-engine - 使用 Google App Engine 解析收到的邮件?

转载 作者:太空宇宙 更新时间:2023-11-03 15:26:23 25 4
gpt4 key购买 nike

我们使用 Google Apps 设置了邮件。我们希望能够对收到的邮件运行一些正则表达式并处理这些信息。

今天使用 Google App Engine 这可能吗? Google 是否提供某种可以执行此操作的基础架构?

最佳答案

来自谷歌文档 here :

接收邮件

您的应用可以通过以下形式的地址接收电子邮件:

string@appid.appspotmail.com

请注意,即使您的应用部署在自定义域上,您的应用也无法接收发送到该域地址的电子邮件。电子邮件消息作为 HTTP 请求发送到您的应用程序。这些请求由 App Engine 生成并发布到您的应用程序。在您的应用程序配置中,您指定将被调用以处理这些 HTTP 请求的处理程序。在您的处理程序中,您会收到电子邮件消息的 MIME 数据,然后将其解析为各个字段。

电子邮件消息作为 HTTP POST 请求使用以下 URL 发送到您的应用:

/_ah/mail/address

其中 address 是完整的电子邮件地址,包括域名。默认情况下,在您的应用程序中接收邮件的功能是禁用的。要使您的应用能够接收邮件,您必须通过包含以下内容来指定您希望在 app.yaml 文件中启用此服务:

inbound_services:
- mail

Python SDK 定义了 InboundMailHandler,这是一个用于处理传入电子邮件的 Web 应用程序类。要使用 InboundMailHandler,您可以将其子类化并覆盖 receive() 方法。使用 InboundEmailMessage 类的参数调用 receive() 方法,该类是 Python SDK 定义的另一个类。

InboundMailHandler 位于 google.appengine.ext.webapp.mail_handlers 包中。您可以像这样创建 InboundEmailMessage 的实例:

import logging, email
from google.appengine.ext import webapp
from google.appengine.ext.webapp.mail_handlers import InboundMailHandler
from google.appengine.ext.webapp.util import run_wsgi_app

class LogSenderHandler(InboundMailHandler):
def receive(self, mail_message):
logging.info("Received a message from: " + mail_message.sender)

InboundEmailMessage 对象包含访问其他消息字段的属性:

subject contains the message subject.
sender is the sender's email address.
to is a list of the message's primary recipients.
cc contains a list of the cc recipients.
date returns the message date.
attachments is a list of file attachments, possibly empty. Each value in the list is a tuple of two elements: the filename and the file contents.
original is the complete message, including data not exposed by the other fields such as email headers, as a Python email.message.Message.

关于google-app-engine - 使用 Google App Engine 解析收到的邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/616889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com