Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Получить адреса To , From и СС из отправляемого сообщения / 2 сообщений из 2, страница 1 из 1
14.09.2011, 02:43
    #37439218
Lasa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить адреса To , From и СС из отправляемого сообщения
Пишу add-in в Outlook
Задача - при отправлении нового письма, определенные письма сохранять в базе данных
Проблема - не могу получить адреса нового письма, т.е. Subject и Body читаются, а "To", "From" и "СС" все время null
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
        using Outlook = Microsoft.Office.Interop.Outlook;
        
        public Outlook.Application OutlookApplication;

        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            OutlookApplication = this.Application;
            OutlookApplication.ItemSend += new Microsoft.Office.Interop.Outlook.ApplicationEvents_11_ItemSendEventHandler(OutlookApplication_ItemSend);
        }
        private void OutlookApplication_ItemSend(object Item, ref bool Cancel)
        {
            string emailTo = String.Empty  ;
            string emailFrom = String.Empty;
            string emailCC = String.Empty;
            string emailSubject = String.Empty;
            string emailBody = String.Empty;

            Outlook.MailItem mailItem = Item as Outlook.MailItem;

            if (mailItem != null)
            {
                    emailTo = mailItem.To;
                    emailFrom = mailItem.SenderEmailAddress;
                    emailSubject = mailItem.Subject;
                    emailBody = mailItem.HTMLBody;

                    SendToDB(emailTo, emailFrom, emailCC, emailSubject, emailBody);

            }
           
        }
...
Рейтинг: 0 / 0
14.09.2011, 04:13
    #37439236
Lasa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить адреса To , From и СС из отправляемого сообщения
Сама поправила
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
        private void OutlookApplication_ItemSend(object Item, ref bool Cancel)
        {
            string emailTo = String.Empty;
            string emailFrom = String.Empty;
            string emailSubject = String.Empty;
            string emailBody = String.Empty;

            Outlook.MailItem mailItem = Item as Outlook.MailItem;
            
            // Get the MAPI namespace.
            Outlook.NameSpace mapiItem = OutlookApplication.GetNamespace("mapi");

            if (mailItem != null)
            {
                sendToIMS = mailItem.UserProperties.Find("sendToIMS", true);

                if (sendToIMS.Value)
                {
                    foreach (Outlook.Recipient res in mailItem.Recipients)
                    {
                        if (res.Address.ToString().Contains("Exchange"))
                        {
                            Outlook.Recipient recip = mapiItem.CreateRecipient(res.Address);
                            Outlook.ExchangeUser exUser = recip.AddressEntry.GetExchangeUser();
                            emailTo = emailTo + " " + exUser.PrimarySmtpAddress;
                        }
                        else
                        {
                            emailTo = emailTo + " " + res.Address;
                        }
                    }
                    emailFrom = mapiItem.Accounts[1].SmtpAddress;
                    emailSubject = mailItem.Subject;
                    emailBody = mailItem.HTMLBody;

                    SendToDB(emailTo, emailFrom, emailSubject, emailBody);
                    
                }
            }
           
        }

,только неправильно все же вот этот кусок, вдруг адрес будет bla-bla-exchange@mail.ru
Код: plaintext
1.
2.
 if (res.Address.ToString().Contains("Exchange"))
   {
Для полученные писем, сделала вот так
Код: plaintext
1.
2.
 if (mailItem.SenderEmailType.ToString() == "EX")
 {
а как сделать для посылаемого письма не знаю :(
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Получить адреса To , From и СС из отправляемого сообщения / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]