【问题标题】:Emailing a file on an Azure blob storage通过电子邮件发送 Azure Blob 存储上的文件
【发布时间】:2020-03-01 17:44:08
【问题描述】:

每周一,计时器触发的函数应用都会向 Azure blob 存储添加一个文件。我想知道是否可以通过电子邮件将其作为附件发送给人们。发件人电子邮件将是我的组织,而不是 GMail 或 Outlook 或任何东西。收件人也将来自我的组织。

所有 Function App 代码都是用 Python 编写的,因此它是一个 Linux 环境,并且使用的是消费计划。我知道我无法进行 Sendgrid 输出绑定,因为它不支持 Python(在撰写本文时)。

我浏览过有关使用 MIMEMultipart 发送电子邮件的文章,但它所寻求的“附件”位于本地。我感兴趣的文件在 Azure 存储帐户中。

我环顾四周,但找不到任何支持它的东西。由于我在 Python 上执行此操作,因此我更加不知所措。

拜托,你能帮帮我吗?

长话短说:我在 Azure 存储帐户上有一个文件并使用 Python,我希望将其通过电子邮件发送给人们。

【问题讨论】:

    标签: python-3.x azure azure-functions azure-blob-storage email-attachments


    【解决方案1】:

    您可以使用 blob 触发器创建新的 Azure 函数。

    这是一个关于它的示例:

    def main(myblob: func.InputStream):
        logging.info(f"Python blob trigger function processed blob \n"
                     f"Name: {myblob.name}\n"
                     f"Blob Size: {myblob.length} bytes")
    
        img_data = myblob.read()
    
        #Logic to send the email in here
    
        try:
        except Exception as e:
            print('Error:')
            print(e)
    

    来源:https://github.com/yokawasa/azure-functions-python-samples/tree/master/v2functions/blob-trigger-cosmosdb-out-binding

    另一种选择,我认为更简单,只需将逻辑应用与 Azure 存储连接器和您最喜欢的工具(Sendgrid、outlook、gmail 等)一起使用来发送电子邮件

    https://docs.microsoft.com/bs-latn-ba/azure///////connectors/connectors-create-api-azureblobstorage

    【讨论】:

    猜你喜欢
    • 2019-01-28
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    相关资源
    最近更新 更多