|
Чтение почты из 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С сразу почту принять и обработать
Но если бы это был робот, то понятно
А заменять полноценный мейлер врядле нужно
А так - затянул почту, обработал и получил статистику
|
|