Power Apps - 使用 Flow 向来自 Collection 的用户列表发送电子邮件
Power Apps - Send Email To the List of Users from Collection Using Flow
我有一个叫作 requiredCol_1 的 collection,
Name ID ToAddress Status
Abc 123 asdfg@example.com,koldef@example.com,asdasdasfda@example.com A
Def 234 nanasd@example.com,asdfg@example.com A
Ghi 567 asdfg@example.com,asdasfg1@example.com A
我希望向每个用户发送电子邮件,每个用户应该只收到一封电子邮件。
为此,
我创建了一个 requiredCol_2 作为另一个 collection
ToAddressUnique
asdfg@example.com
koldef@example.com
asdasdasfda@example.com
nanasd@example.com
asdasfg1@example.com
我现在已经设法缩小了我的问题范围。
以上 collection (requiredCol_2) 中的每个用户都会收到一封电子邮件。我的电子邮件正文将连接名称和 ID,并以与该特定电子邮件 ID 相关的列表形式出现。
例如,发送至 asdfg@example.com 的电子邮件将如下所示,
To :- asdfg@example.com
Subject :- Please Look at
Body:-
Click here and Kindly review the following,
- Abc - 123
- Def - 234
- Ghi - 567
点击这里是一个超链接,我想通过一个变量来传递。
我是 Powerapps 和 flow 的新手。所以,请向我解释使它起作用的步骤。
这是我目前在 Power Apps 中的代码 - 发送电子邮件按钮
//Create a Collection
ClearCollect(requiredCol_1 , Filter(Table1, User().Email in Lower(Allocators), Status = "A"));
//Unique List of Approvers
ClearCollect(requiredCol_2,Distinct(
Split(
Concat(requiredCol_1 , ToAddress, ","),
","),
Result));
//Hyperlink Creation
set (hyperlinkvalue, "WWW.Google.Com");
如果您想发送电子邮件,可以使用其中一个连接器,例如 Outlook.com 或 Office 365(以及其他)。如果您希望电子邮件有超链接,那么您需要发送一封 HTML 电子邮件,并且您需要在您的应用程序中编写 HTML。例如,下面的代码片段显示使用 Outlook.com 连接器发送电子邮件(Office 365 的语法将相同或非常相似):
//Create a Collection
ClearCollect(
requiredCol_1,
Filter(Table1, User().Email in Lower(Allocators), Status = "A"));
//Unique List of Approvers
ClearCollect(requiredCol_2,Distinct(
Split(
Concat(requiredCol_1 , ToAddress, ","),
","),
Result));
//Hyperlink Creation
Set(hyperlinkvalue, "WWW.Google.Com");
// E-mail body
Set(
mailBody,
Concatenate(
"<p><a href=""",
hyperlinkvalue,
""">Click here</a> and kindly review the following:</p>",
"<ol>",
Concat(
requiredCol_1,
"<li>" & Name & " - " & ID & "</li>"
),
"</ol>"
));
// Send e-mail
'Outlook.com'.SendEmail(
Concat(requiredCol_2, Result, ","),
"Please look at",
mailBody,
{
IsHtml: true
})
如果您希望仅在电子邮件中发送包含该电子邮件的项目,那么您需要在创建每个单独的电子邮件时过滤原始 table,例如下面的例子:
Set(hyperlinkValue, "www.google.com");
ClearCollect(
distinctUsers,
Distinct(Split(Concat(requiredCol_1, ToAddress, ","), ","), Result));
ClearCollect(
distinctUsersWithEmail,
AddColumns(
distinctUsers,
"mailBodyForUser",
Concatenate(
"<p><a href=""",
hyperlinkValue,
""">Click here</a> and kindly review the following:</p>",
"<ol>",
Concat(
Filter(requiredCol_1, Result in ToAddress),
"<li>" & Name & " - " & ID & "</li>"
),
"</ol>"
)));
ForAll(
distinctUsersWithEmail,
'Outlook.com'.SendEmail(
Result,
"Please look at",
mailBodyForUser,
{
IsHtml: true
}))
我有一个叫作 requiredCol_1 的 collection,
Name ID ToAddress Status
Abc 123 asdfg@example.com,koldef@example.com,asdasdasfda@example.com A
Def 234 nanasd@example.com,asdfg@example.com A
Ghi 567 asdfg@example.com,asdasfg1@example.com A
我希望向每个用户发送电子邮件,每个用户应该只收到一封电子邮件。
为此,
我创建了一个 requiredCol_2 作为另一个 collection
ToAddressUnique
asdfg@example.com
koldef@example.com
asdasdasfda@example.com
nanasd@example.com
asdasfg1@example.com
我现在已经设法缩小了我的问题范围。 以上 collection (requiredCol_2) 中的每个用户都会收到一封电子邮件。我的电子邮件正文将连接名称和 ID,并以与该特定电子邮件 ID 相关的列表形式出现。
例如,发送至 asdfg@example.com 的电子邮件将如下所示,
To :- asdfg@example.com
Subject :- Please Look at
Body:-
Click here and Kindly review the following,
- Abc - 123
- Def - 234
- Ghi - 567
点击这里是一个超链接,我想通过一个变量来传递。
我是 Powerapps 和 flow 的新手。所以,请向我解释使它起作用的步骤。
这是我目前在 Power Apps 中的代码 - 发送电子邮件按钮
//Create a Collection
ClearCollect(requiredCol_1 , Filter(Table1, User().Email in Lower(Allocators), Status = "A"));
//Unique List of Approvers
ClearCollect(requiredCol_2,Distinct(
Split(
Concat(requiredCol_1 , ToAddress, ","),
","),
Result));
//Hyperlink Creation
set (hyperlinkvalue, "WWW.Google.Com");
如果您想发送电子邮件,可以使用其中一个连接器,例如 Outlook.com 或 Office 365(以及其他)。如果您希望电子邮件有超链接,那么您需要发送一封 HTML 电子邮件,并且您需要在您的应用程序中编写 HTML。例如,下面的代码片段显示使用 Outlook.com 连接器发送电子邮件(Office 365 的语法将相同或非常相似):
//Create a Collection
ClearCollect(
requiredCol_1,
Filter(Table1, User().Email in Lower(Allocators), Status = "A"));
//Unique List of Approvers
ClearCollect(requiredCol_2,Distinct(
Split(
Concat(requiredCol_1 , ToAddress, ","),
","),
Result));
//Hyperlink Creation
Set(hyperlinkvalue, "WWW.Google.Com");
// E-mail body
Set(
mailBody,
Concatenate(
"<p><a href=""",
hyperlinkvalue,
""">Click here</a> and kindly review the following:</p>",
"<ol>",
Concat(
requiredCol_1,
"<li>" & Name & " - " & ID & "</li>"
),
"</ol>"
));
// Send e-mail
'Outlook.com'.SendEmail(
Concat(requiredCol_2, Result, ","),
"Please look at",
mailBody,
{
IsHtml: true
})
如果您希望仅在电子邮件中发送包含该电子邮件的项目,那么您需要在创建每个单独的电子邮件时过滤原始 table,例如下面的例子:
Set(hyperlinkValue, "www.google.com");
ClearCollect(
distinctUsers,
Distinct(Split(Concat(requiredCol_1, ToAddress, ","), ","), Result));
ClearCollect(
distinctUsersWithEmail,
AddColumns(
distinctUsers,
"mailBodyForUser",
Concatenate(
"<p><a href=""",
hyperlinkValue,
""">Click here</a> and kindly review the following:</p>",
"<ol>",
Concat(
Filter(requiredCol_1, Result in ToAddress),
"<li>" & Name & " - " & ID & "</li>"
),
"</ol>"
)));
ForAll(
distinctUsersWithEmail,
'Outlook.com'.SendEmail(
Result,
"Please look at",
mailBodyForUser,
{
IsHtml: true
}))