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);
        }
コード例 #2
0
        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);
        }