编写代码阶段以确定收件人是否来自域
Writing code stage to determine if recipients are from the domain
我需要在 Blue Prism 的代码阶段编写一段代码。我正在处理 Outlook,我当前的对象可以在 Outlook 中发送电子邮件。
但是,我现在需要做的是检查to/cc/bcc中的电子邮件地址是否来自同一域(例如检查所有收件人的电子邮件地址是否以“@abc.com结尾”)。我当前的一段代码是用 C# 编写的。有人知道如何做到这一点吗?
这是我目前拥有的:
我有一个字段的输入参数列表,例如“to, from, cc, bcc, ..., abc_recipients_only”。所有参数均为字符串,“abc_recipient_only”参数为布尔形式。
我目前使用的代码提示“第 14 行的编译器错误:当前上下文中不存在名称“收件人””。
EmailMessage email = new EmailMessage(service);
to = to.Replace(',',';');
cc = cc.Replace(',',';');
bcc = bcc.Replace(',',';');
foreach(var row in to.Split(';')){
if (abc_recipients_only == true){
if(Recipient.AddressEntry == "abc.com"){
email.ToRecipients.Add(row.Trim());
}
}
else{
if (string.IsNullOrEmpty(row.Trim())) continue;
email.ToRecipients.Add(row.Trim());
}
}
email.SendAndSaveCopy();
假设您的公司正在使用 Exchange,遍历邮件中的所有收件人(MailItem.Recipients
集合)并检查每个地址类型是 "EX"
- Recipient.AddressEntry.Type == "EX"
还是 Recipient.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3002001F") == "EX"
.后者效率更高
代表 Outlook 项目的所有收件人的 MailItem.Recipients property returns a Recipients 集合。因此,您可以遍历集合中的所有项目并检查收件人的域。
使用 Recipients (index) 方法,其中 index 是名称或索引号,return 单个 Recipient 对象。该名称可以是表示显示名称、别名、完整 SMTP 电子邮件地址或收件人手机 phone 号码的字符串。一个好的做法是对邮件消息使用 SMTP 电子邮件地址,对移动消息使用手机 phone 号码。
Recipient.Address 属性 return 是一个表示收件人电子邮件地址的字符串。
如果您遇到类似交换的电子邮件地址,您可以使用 HowTo: Convert Exchange-based email address into SMTP email address 文章中描述的方法。
我需要在 Blue Prism 的代码阶段编写一段代码。我正在处理 Outlook,我当前的对象可以在 Outlook 中发送电子邮件。
但是,我现在需要做的是检查to/cc/bcc中的电子邮件地址是否来自同一域(例如检查所有收件人的电子邮件地址是否以“@abc.com结尾”)。我当前的一段代码是用 C# 编写的。有人知道如何做到这一点吗?
这是我目前拥有的: 我有一个字段的输入参数列表,例如“to, from, cc, bcc, ..., abc_recipients_only”。所有参数均为字符串,“abc_recipient_only”参数为布尔形式。
我目前使用的代码提示“第 14 行的编译器错误:当前上下文中不存在名称“收件人””。
EmailMessage email = new EmailMessage(service);
to = to.Replace(',',';');
cc = cc.Replace(',',';');
bcc = bcc.Replace(',',';');
foreach(var row in to.Split(';')){
if (abc_recipients_only == true){
if(Recipient.AddressEntry == "abc.com"){
email.ToRecipients.Add(row.Trim());
}
}
else{
if (string.IsNullOrEmpty(row.Trim())) continue;
email.ToRecipients.Add(row.Trim());
}
}
email.SendAndSaveCopy();
假设您的公司正在使用 Exchange,遍历邮件中的所有收件人(MailItem.Recipients
集合)并检查每个地址类型是 "EX"
- Recipient.AddressEntry.Type == "EX"
还是 Recipient.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3002001F") == "EX"
.后者效率更高
代表 Outlook 项目的所有收件人的 MailItem.Recipients property returns a Recipients 集合。因此,您可以遍历集合中的所有项目并检查收件人的域。
使用 Recipients (index) 方法,其中 index 是名称或索引号,return 单个 Recipient 对象。该名称可以是表示显示名称、别名、完整 SMTP 电子邮件地址或收件人手机 phone 号码的字符串。一个好的做法是对邮件消息使用 SMTP 电子邮件地址,对移动消息使用手机 phone 号码。
Recipient.Address 属性 return 是一个表示收件人电子邮件地址的字符串。
如果您遇到类似交换的电子邮件地址,您可以使用 HowTo: Convert Exchange-based email address into SMTP email address 文章中描述的方法。