Azure 逻辑应用程序 - Return 电子邮件内容为 JSON
Azure Logic App - Return email contents as JSON
我是 Azure 的初学者,希望能够有一个逻辑应用程序来读取电子邮件的内容并将其输出到 JSON 例如:
{
"from": "Azure@Microsoft.co.uk",
"subject": "Azure Exception - A task was canceled.",
"body": "An exception has occurred in an Azure function"
}
逻辑应用程序非常基础,我有一个 'when an email is received trigger' 通向我的函数应用程序,我在其中传递电子邮件 Body 作为请求 body。我目前正在从逻辑应用程序中获取 http body 请求内容,例如:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta content="text/html; charset=us-ascii"><meta name="Generator" content="Microsoft Word 15 (filtered medium)"><style>
<!--
@font-face
{font-family:"Cambria Math"}
@font-face
{font-family:Calibri}
这不是我想要的,因为我想要的电子邮件的主要部分位于底部 html。
在我的函数应用程序中,我正在执行以下操作,获取请求和
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
string emailBodyContent = await new StreamReader(req.Body).ReadToEndAsync();
return new OkObjectResult(emailBodyContent);
}
我不太确定这是如何工作的,但我正在返回 req.Body
。
我假设这可能与以下内容有关?我们可以从:电子邮件发件人,主题:header
非常感谢任何指南或答案。
我的理解是您想提取邮件正文(纯文本)而不是完整的 html 文本。
默认情况下,在逻辑应用中 - 收到的电子邮件正文是 HTML 内容。要提取文本内容,您可以使用 Content Conversion 连接器。
输出:
备选方案:
您可以使用 Body Preview
- 如果正文较小 - 正文预览将包含正文的纯文本 - 这将直接满足您的要求。
更新
要创建 JSON 输出,您可以使用 Compose Action
我是 Azure 的初学者,希望能够有一个逻辑应用程序来读取电子邮件的内容并将其输出到 JSON 例如:
{
"from": "Azure@Microsoft.co.uk",
"subject": "Azure Exception - A task was canceled.",
"body": "An exception has occurred in an Azure function"
}
逻辑应用程序非常基础,我有一个 'when an email is received trigger' 通向我的函数应用程序,我在其中传递电子邮件 Body 作为请求 body。我目前正在从逻辑应用程序中获取 http body 请求内容,例如:
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta content="text/html; charset=us-ascii"><meta name="Generator" content="Microsoft Word 15 (filtered medium)"><style>
<!--
@font-face
{font-family:"Cambria Math"}
@font-face
{font-family:Calibri}
这不是我想要的,因为我想要的电子邮件的主要部分位于底部 html。
在我的函数应用程序中,我正在执行以下操作,获取请求和
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
string emailBodyContent = await new StreamReader(req.Body).ReadToEndAsync();
return new OkObjectResult(emailBodyContent);
}
我不太确定这是如何工作的,但我正在返回 req.Body
。
我假设这可能与以下内容有关?我们可以从:电子邮件发件人,主题:header
非常感谢任何指南或答案。
我的理解是您想提取邮件正文(纯文本)而不是完整的 html 文本。
默认情况下,在逻辑应用中 - 收到的电子邮件正文是 HTML 内容。要提取文本内容,您可以使用 Content Conversion 连接器。
输出:
备选方案:
您可以使用 Body Preview
- 如果正文较小 - 正文预览将包含正文的纯文本 - 这将直接满足您的要求。
更新
要创建 JSON 输出,您可以使用 Compose Action