VB6 с MAPI для Lotus Notes

Все,

Мне нужно включить почтовые функции в приложение VB6. Почтовая система по умолчанию - Lotus Notes 6.5. Я читал, что эта версия Lotus Notes поддерживает MAPI.

Вот странная вещь, которую я вижу. Когда пользователь нажимает кнопку SendMail, запускается следующий код:

 MAPISession1.SignOn
With MAPIMessages1
    .SessionID = MAPISession1.SessionID
    .Compose
    .RecipAddress = "John Smith"
    .MsgSubject = "Test memo"
    .MsgNoteText = "This is testing data!"
    .AddressResolveUI = True
    .ResolveName
    .Send True
End With

Этот код открывает окно в Lotus Notes (это то, что я ожидал), но - поле Кому адрес содержит адрес получателя, за которым следует основной текст в первой строке и адрес получателя во второй строке:

John SmithThis is testing data!
John Smith

- раздел Body пуст.

Могу ли я что-нибудь сделать, чтобы исправить это, или Lotus Notes несовместим с MAPI.
Спасибо, Лев


person user283897    schedule 16.12.2010    source источник


Ответы (2)


У меня нет доступа к соответствующим инструментам, поэтому я не могу это проверить, но попробуйте переместить строку .ResolveName сразу после того, как вы установите адрес получателя, например:

.Compose
.RecipAddress = "John Smith"
.ResolveName

Lotus Notes совместим с Simple MAPI, а не с полным (расширенным) MAPI, но используемый вами код выглядит как Simple MAPI.

person Joel Spolsky    schedule 17.12.2010
comment
Джоэл, я попробовал ваше предложение, но, к сожалению, оно не помогло. Еще идеи? - person user283897; 17.12.2010

Я провел небольшое исследование и, предположительно, Simple MAPI поддерживается в Lotus Notes 6. Однако, немного покопавшись, я пришел к этот пост, в котором у кого-то возникли проблемы с использованием MAPI в r6, и он решил использовать вместо него COM. Я работал только с COM, но могу сказать, что он дает вам большую гибкость, если вы готовы изменить свой код.

person Ken Pespisa    schedule 17.12.2010
comment
Не могли бы вы указать, какой COM вы имеете в виду: CDO, Winsock, что-нибудь еще? Спасибо. - person user283897; 17.12.2010
comment
Я имею в виду COM API Lotus Notes. Вот пример: fabalou.com/VBandVBA/lotusnotesmail.asp. - person Ken Pespisa; 22.12.2010