Можно ли вывести пустое письмо с вложением через MAPI? - VB

Узнай цену своей работы

Формулировка задачи:

Вариант первый (через контролы):
Он делает то чего нужно, но использовать ocx-ы не хочу
Вариант второй:
через ShellExecute+mailto:
Самый простой, но к сожалению парсинг типа ?attachment= не гарантирован, на OE просто не работает
Вариант 3-й:
cdosys.dll
Не годится, юзер должен видеть сообщение перед отправкой
Вариант 4-й:
Через

B

MAPISendMail
Так вот эта "B" опять не гарантирует работу скажем с OE, ошибка 2147467259, рекомендуется патчить реестр, но это вариант "Г".
Вариант 5-й:
Пробовал без "Б", т.е.
Увы, Message As MAPIMessage в данном случае предполагает вложенные структуры, содержащие
Recipient() As MapiRecip
File() As MapiFile
Запихнуть туда данные о вложениях через
Public Type MAPIMessage
...
FileCount As Long
FileDesc() As MapiFile ???
...
средствами VB мне не удалось, максимум письмо без вложений и адреса назначения, .
Видимо для VB и изобрели "B"-модификации...(bypass)
Вариант 6-й:
По сути тоже что и 4 и 5-но на C++, в майкрософте видел такую "рекомендацию".
Но это лишний exe-шник, не хотелось бы.
Но честно уже задолбался, задача вроде простая...
Неужели нет красивого решения?
М.б. еще системную ф-цию Send to->mail попробовать?
А через CreateObject никак нельзя?
Сдается, придется command prompt на c++ делать... +Shell, vbhide

Решение задачи: «Можно ли вывести пустое письмо с вложением через MAPI?»

textual
Листинг программы
MAPISendDocuments Me.hwnd, "", "C:\MyPict\picture1.jpg", "picture1.jpg", 0&

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы