python - 在应用服务计划下的 azure 功能中发送电子邮件

标签 python azure email azure-functions smtplib

我有带有应用程序服务计划的 azure 函数应用程序,并且我使用 python 作为编程语言。我如何从 Azure 功能发送电子邮件...应用程序服务计划是否可以实现这一点,或者我是否需要选择“twilio grid”等第三方服务,或者请建议可能性...

最佳答案

最简单的方法是使用 twilio sendgrid integrates very nicely with Azure Functions使用 SendGrid extension 作为输出绑定(bind).

然后您可以创建一个类似的函数

import logging
import json
import azure.functions as func

def main(req: func.HttpRequest, sendGridMessage: func.Out[str]) -> func.HttpResponse:

    value = "Sent from Azure Functions"

    message = {
        "personalizations": [ {
          "to": [{
            "email": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4f3a3c2a3d0f2c20213b203c20612c2022" rel="noreferrer noopener nofollow">[email protected]</a>"
            }]}],
        "subject": "Azure Functions email with SendGrid",
        "content": [{
            "type": "text/plain",
            "value": value }]}

    sendGridMessage.set(json.dumps(message))

    return func.HttpResponse(f"Sent")

参见the docs了解更多详情和 blogpost在 twilio 上。有一个free plan开始吧。

如果您已经拥有 Office 365 订阅,那么使用 Office 365 SMTP 中继和 Microsoft Graph API 也是不错的选择。但它需要您自己编写代码,因为没有开箱即用的输出绑定(bind)。

关于python - 在应用服务计划下的 azure 功能中发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72362837/

相关文章:

Azure 私有(private) DNS 区域链接到 VNet

java - 我想使用java程序发送电子邮件。我收到如下异常

PhpMailer、ClearAddresses() 不起作用,消息发送给所有人

azure - 交换到产品后,部署槽 URL 是否会更改为定义的自定义 URL?

azure - Azure EventGrid 主题中的多种事件类型

python - 谷歌应用引擎: receive email then/and forward it?

python - python中的特殊字符

python - 手动拆分与 Scikit 网格搜索

python - BaseOperator.xcom_pull 中的上下文参数是什么

Python:只保留字符串中的字母