我目前正在研究下面的方法,它遍历我的收件箱中的电子邮件,但想知道如何过滤它们以专注于带有static subject 的,例如:nice weather。在搜索之后,我认为 folders.Items.Restrict() 可以提供帮助,但是我在 var fi = folder.Items 上得到了 。我也试过 condition is not valid。限制(“天气”)var fi = folder.Items.Find("[Subject] = weather"),以确保条件有效,...但最终没有任何改进。
提前致谢
static void IterateMessages(Outlook.Folder folder)
{
string[] extensionsArray = {".csv"};
//var fi = folder.Items;
var fi = folder.Items.Restrict("weather");
if (fi != null)
{
foreach (Object item in fi)
{
Outlook.MailItem mi = (Outlook.MailItem)item;
var attachments = mi.Attachments;
if (attachments.Count != 0)
{
if (!Directory.Exists(basePath)
{
Directory.CreateDirectory(basePath);
}
// Loop through each attachment
for (int i = 1; i <= mi.Attachments.Count; i++)
{
Console.WriteLine("Processing: {0}", mi.Attachments[i].FileName);
mi.Attachments[i].SaveAsFile(basePath);
Console.WriteLine("Attachment: {0}" + " Saved to Path", mi.Attachments[i].FileName);
}
}
}
}
}
请您参考如下方法:
您的Restrict 参数格式似乎有误。试试这个:
var fi = folder.Items.Restrict("@SQL=\"urn:schemas:httpmail:subject\" like '%weather%'";
