You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Automate中如何将Azure Blob的CSV转为RFC 2822标准EML?

Power Automate中生成RFC 2822标准EML文件的实现方案

Power Automate没有直接生成符合RFC 2822标准EML文件的内置动作,但可以通过以下两种可靠方式完成需求:

方法一:手动拼接EML结构(最灵活)

EML本质是遵循RFC 2822规范的纯文本格式,你可以用「撰写」动作直接拼接完整的EML内容,包含邮件头、正文和CSV附件的MIME多部分结构。

具体步骤:

  1. 读取Azure Blob中的CSV文件内容,将其存入变量(例如csvContent)。
  2. 添加「撰写」动作,输入以下模板内容(替换占位符为实际值):
From: <sender@example.com>
To: <recipient@example.com>
Subject: CSV数据附件邮件
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="unique-boundary-12345"

--unique-boundary-12345
Content-Type: text/plain; charset="UTF-8"

请查收附件中的CSV数据。

--unique-boundary-12345
Content-Type: text/csv; name="data.csv"
Content-Disposition: attachment; filename="data.csv"
Content-Transfer-Encoding: base64

@{base64(body('读取_Blob_内容'))}
--unique-boundary-12345--

关键细节:

  • unique-boundary-12345需使用唯一字符串,避免与邮件内容冲突
  • CSV内容必须通过base64()函数编码,符合MIME附件传输要求
  • 所有换行必须用\r\n(RFC 2822强制要求),Power Automate中可通过decodeUriComponent('%0D%0A')插入标准换行

方法二:借助邮件动作间接生成(更简便)

若你的核心需求是发送带CSV附件的邮件,而非单独生成EML文件,可跳过手动构建步骤:

  1. 读取Blob的CSV内容后,用「创建文件」动作将其临时保存到OneDrive/SharePoint(生成实体文件)。
  2. 使用「发送电子邮件(V2)」动作,添加该CSV文件作为附件直接发送。
  3. 若必须生成EML文件,可在发送后通过Office 365邮件的「获取邮件」动作提取对应邮件的EML内容(需确保租户权限允许)。

注意事项

  • 手动拼接EML时,邮件头字段(如From、To)需严格遵循RFC 2822格式,避免语法错误导致收件端无法解析
  • 若CSV文件编码非UTF-8,需在Content-Type中指定对应字符集(如gb2312)

内容的提问来源于stack exchange,提问作者Moinak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 12:02:52