|
public
void ReadMail(string
supportFolder, DateTime
earliestDateFilter)
{
Microsoft.Office.Interop.Outlook.Application
app = null;
Microsoft.Office.Interop.Outlook.NameSpace
ns = null;
Microsoft.Office.Interop.Outlook.Folder
inboxFolder = null;
Microsoft.Office.Interop.Outlook.Folder
subFolder = null;
Microsoft.Office.Interop.Outlook.Folder
subFolder2 = null;
try
{
app = new Microsoft.Office.Interop.Outlook.Application();
ns = app.GetNamespace("MAPI");
ns.Logon(null, null,
false, false);
inboxFolder = (Microsoft.Office.Interop.Outlook.Folder)ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olPublicFoldersAllPublicFolders);
subFolder2 = (Microsoft.Office.Interop.Outlook.Folder)inboxFolder.Folders["Support"];
subFolder = (Microsoft.Office.Interop.Outlook.Folder)subFolder2.Folders["Internet E-mail"];
object item = null;
Microsoft.Office.Interop.Outlook.PostItem
postItem = null;
for (int i =
1; i <= subFolder.Items.Count; i++)
{
try
{
postItem = null;
item = subFolder.Items[i];
postItem = item as PostItem;
if (postItem != null)
{
DateTime receiveTime =
postItem.ReceivedTime;
if (postItem.ReceivedTime <
earliestDateFilter)
{
break; // e-mails are returned in date order (most recent first)
}
string sFrom = postItem.SenderEmailAddress;
//DO YOUR CUSTOM PROCESSING HERE
}
}
catch
{
throw;
}
finally
{
ReleaseRemoteObject(ref postItem);
ReleaseRemoteObject(ref item);
}
} // for
}
catch
{
throw;
}
finally
{
// release objects in the reverse order of
assigning them
ReleaseRemoteObject(ref subFolder);
ReleaseRemoteObject(ref subFolder2);
ReleaseRemoteObject(ref inboxFolder);
if (ns != null)
{
ns.Logoff();
}
ReleaseRemoteObject(ref ns);
ReleaseRemoteObject(ref app);
}
}
|