gpt4 book ai didi

c# - 用于查找发件人域 C# 的 EWS 搜索过滤器

转载 作者:太空宇宙 更新时间:2023-11-03 15:09:18 29 4
gpt4 key购买 nike

我创建了一个小型应用程序来获取我所有的电子邮件。我将每封电子邮件添加到列表中。但是,在我将它们添加到列表之前,我会过滤它们。我所有的过滤器都独立工作。我的用于按发件人过滤我的电子邮件的搜索过滤器不起作用,因为我只是想过滤域而不是整个电子邮件地址。例如 xxx@xxx.com 将进行过滤,但我想过滤掉所有带有 xxx.com 域的内容,但由于某种原因它不会过滤它。我尝试使用子字符串,但这也不起作用。

我的代码是休闲的

    private static SearchFilter.SearchFilterCollection sFilter = new SearchFilter.SearchFilterCollection();
private static FindItemsResults<Item> findResults;
sFilter.Add(new SearchFilter.Not(new SearchFilter.ContainsSubstring(EmailMessageSchema.Sender, "@xxx.com",ContainmentMode.Substring,ComparisonMode.IgnoreCase)));
sFilter.Add(new SearchFilter.Not(new SearchFilter.Exists(EmailMessageSchema.InReplyTo)));
DateTime startTime = GetDateValueforFilter();
startTimefilter = new SearchFilter.IsGreaterThanOrEqualTo(EmailMessageSchema.DateTimeReceived, startTime);
sFilter.Add(startTimefilter);


sFilter.Add(startTimefilter);


findResults = service.FindItems(
WellKnownFolderName.Inbox
,sFilter
,new ItemView(25));

foreach (EmailMessage item in findResults.Items)
{



//if (item.IsRead == false)
//{
// if (item.InReplyTo == null)
// {


bool replyToAll = true;
string myReply = "This is the message body of the email reply.";

item.Reply(myReply, replyToAll);

item.IsRead = true;
item.Send();


//}

//}

}

最佳答案

我建议您尝试使用扩展属性 PidTagSenderSmtpAddress https://msdn.microsoft.com/en-us/library/office/jj713594.aspx并尝试类似的东西

  ExtendedPropertyDefinition PidTagSenderSmtpAddress = new ExtendedPropertyDefinition(0x5D01,MapiPropertyType.String);
SearchFilter sf = new SearchFilter.ContainsSubstring(PidTagSenderSmtpAddress, "@yahoo.com");

关于c# - 用于查找发件人域 C# 的 EWS 搜索过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41893701/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com