Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Wednesday, November 28, 2018 4:47 AM
Read outlook email based on filters like
From email address
Subject
Date
All replies (2)
Thursday, November 29, 2018 6:23 AM âś…Answered
Hi Guhananth,
Read outlook email based on filters like
From email address
Subject
Date
You could refer to the following code to read emails, after that you could filter the emails:
using System.Runtime.InteropServices;
using Microsoft.Office.Interop.Outlook;
static void Main(string[] args)
{
Application outlookApplication = null;
NameSpace outlookNamespace = null;
MAPIFolder inboxFolder = null;
Items mailItems = null;
try
{
outlookApplication = new Application();
outlookNamespace = outlookApplication.GetNamespace("MAPI");
inboxFolder = outlookNamespace.GetDefaultFolder(OlDefaultFolders.olFolderInbox);
mailItems = inboxFolder.Items;
Console.WriteLine(mailItems.Count);
foreach (MailItem item in mailItems)
{
var stringBuilder = new StringBuilder();
stringBuilder.AppendLine("From: " + item.SenderEmailAddress);
stringBuilder.AppendLine("To: " + item.To);
stringBuilder.AppendLine("CC: " + item.CC);
stringBuilder.AppendLine("");
stringBuilder.AppendLine("Subject: " + item.Subject);
stringBuilder.AppendLine(item.Body);
Console.WriteLine(stringBuilder);
Marshal.ReleaseComObject(item);
}
}
//Error handler.
catch (System.Exception e)
{
Console.WriteLine("{0} Exception caught: ", e);
}
finally
{
ReleaseComObject(mailItems);
ReleaseComObject(inboxFolder);
ReleaseComObject(outlookNamespace);
ReleaseComObject(outlookApplication);
}
Console.WriteLine("OK");
Console.ReadKey();
}
private static void ReleaseComObject(object obj)
{
if (obj != null)
{
Marshal.ReleaseComObject(obj);
obj = null;
}
}
More details, please check these articles:
Here's how to read emails from Outlook using C#
Best regards,
Dillion
Thursday, June 20, 2019 4:07 PM
Hi,
Note though that Outlook is an end user application and was never intended to be used as a programming library:
https://support.microsoft.com/en-us/help/257757/considerations-for-server-side-automation-of-office
I would favor using https://en.wikipedia.org/wiki/Post_Office_Protocol, https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol or a dedicated API for my mail server.