Имя: Пароль:
1C
1С v8
Чтение почты из Outlook - адрес отправителя - проблема
0 Mashinist
 
07.12.15
13:45
Почта = Новый Почта; //Почта - предоставляет доступ к почте через встроенный почтовый клиент, работает по технологии MAPI.
    Почта.Подключиться("Outlook");
    Сообщения = Почта.Выбрать(Ложь,Ложь);
Для Каждого Сообщение Из Сообщения  Цикл
Сообщить(Сообщение.Отправитель );
КонецЦикла;

Ну и отправитель в таком виде


"/o=My Corporation/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=user23c84b15"

Как же получить адрес отправителя???

Что характерно, что через Новый ComОбъект("OutLook.Application");
тоже самое
Письмо.Sender.Address
1 Mashinist
 
07.12.15
15:49
Выяснилось, что в таком виде отправитель, если он из этого же Exchange
Если адрес внешний, то все нормально. Адрес в доступном формате
Осталось узнать как все же получить адрес от Exchange...
2 ЧеловекДуши
 
07.12.15
16:00
Откуда вы все время проблемы находите ? :)
3 Mashinist
 
07.12.15
16:32
ну если кому интересно, то так

Функция GetSenderSMTPAddress( mail) // Outlook.MailItem
    Если mail.SenderEmailType = "EX" Тогда
        sender = mail.Sender;
        Если sender.AddressEntryUserType = 0 или sender.AddressEntryUserType =  5 Тогда
            // Outlook.OlAddressEntryUserType.olExchangeUserAddressEntry  = 0
            // Outlook.OlAddressEntryUserType.olExchangeRemoteUserAddressEntry  = 5
            exchUser = sender.GetExchangeUser();
            Возврат exchUser.PrimarySmtpAddress;
        КонецЕсли;
    Иначе
        Возврат mail.SenderEmailAddress;    
    КонецЕсли;
КонецФункции


(2) есть такие три буквы CRM... а там есть такое понятие контакт с клиентом. И он то как раз в Outlook

Понятно, что можно в 1С сразу почту принять и обработать
Но если бы это был робот, то понятно
А заменять полноценный мейлер врядле нужно
А так - затянул почту, обработал и получил статистику
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.