public String CDOGetSubjects() { MAPI.Session objSession = new MAPI.Session(); String retVal = ""; // Missing.Value represents a default argument object objEmpty = Missing.Value; // Logon the session using CDO's UI objSession.Logon(objEmpty, objEmpty, true, true, 0, true, objEmpty); MAPI.Folder objInbox = (MAPI.Folder)objSession.Inbox; MAPI.Messages objMessages = (MAPI.Messages)objInbox.Messages; MAPI.Message objMessage = (MAPI.Message)objMessages.GetFirst(objEmpty); while (objMessage is MAPI.Message) { retVal += objMessage.Subject.ToString(); objMessage = (MAPI.Message)objMessages.GetNext(); if (objMessage is MAPI.Message) { retVal += "\r\n"; } } return(retVal); }
private string GetSenderEmailAddress(MailItem message) { try { //Gets the SMTP address of the sender for Exchange. In that case message.SenderEmailAddress returns the main LDAP if (message.SenderEmailType.Equals("EX")) { MAPI.SessionClass mapiSess = new MAPI.SessionClass(); mapiSess.Logon(optional, optional, false, false, optional, optional, optional); MAPI.Message mapiMsg = (MAPI.Message)mapiSess.GetMessage(message.EntryID, ((MAPIFolder)message.Parent).StoreID); MAPI.AddressEntry mapiSender = (MAPI.AddressEntry)mapiMsg.Sender; MAPI.Fields mapiFields = (MAPI.Fields)mapiSender.Fields; for (int i = 1; i <= (int)mapiFields.Count; i++) { MAPI.Field mapiField = (MAPI.Field)mapiFields.get_Item(i, ""); int id = 0; try { id = int.Parse(mapiField.ID.ToString()); } catch (FormatException) {} if (id == 972947486) { return(mapiField.Value.ToString()); } } } } catch (System.Exception exc) { GXLogging.Error(log, "Error reading sender EmailAddress", exc); } return(message.SenderEmailAddress); }