|
Можно ли вывести пустое письмо с вложением через MAPI?
|
|||
---|---|---|---|
#18+
Вариант первый (через контролы): Код: plaintext 1. 2. 3. 4. 5.
Вариант второй: через ShellExecute+mailto: Самый простой, но к сожалению парсинг типа ?attachment= не гарантирован, на OE просто не работает Вариант 3-й: cdosys.dll Не годится, юзер должен видеть сообщение перед отправкой Вариант 4-й: Через B MAPISendMail Код: plaintext 1. 2.
Вариант 5-й: Пробовал без "Б", т.е. Код: plaintext 1.
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 00:44 |
|
Можно ли вывести пустое письмо с вложением через MAPI?
|
|||
---|---|---|---|
#18+
Ну, решение то оказалось вполне тривиальное: Код: plaintext 1. 2. 3.
1) по какой-то странной закономерности новое сообщение иногда не выводится, причем без сообщении об ошибке в ret. Пытался поиграться, добавляя MAPILogon/MAPILogoff -на этот эффект вроде не влияет Поменял на тупой код долбежки в теч. секунды, вроде как помогает "гарантировать сообщение" Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Вообще странно, или что-то не понимаю... 2) OE слишком часто стал почту сжимать(в процессе тестов), я насчитал через 32 отмененных сообщения. Это нормально? Обычно он это раз в неделю делает. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2009, 04:50 |
|
Можно ли вывести пустое письмо с вложением через MAPI?
|
|||
---|---|---|---|
#18+
Дмитрий77Ну, решение то оказалось вполне тривиальное: Код: vbnet 1. 2. 3. 4.
Однако есть маленькие но... 1) по какой-то странной закономерности новое сообщение иногда не выводится, причем без сообщении об ошибке в ret. ... 2) OE слишком часто стал почту сжимать(в процессе тестов), я насчитал через 32 отмененных сообщения. Это нормально? Обычно он это раз в неделю делает Небрежность кода всему виной. Во первых, не заметил ByValDelimStr$ -слитно, перекатал потому что откуда-то, в итоге он у меня передается ByRef Во вторых, еще и засовываю туда 0& вместо "", опять же результат перекатки чужого безграмотного кода. Как итог, в ф-цию передается случайная ересь, результат - произвольные срабатывания/не срабатывания. Только сейчас исправил, все стало работать четко: Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2014, 16:50 |
|
Можно ли вывести пустое письмо с вложением через MAPI?
|
|||
---|---|---|---|
#18+
Дмитрий77, порадоваться за Вас обязательно нужно, труд и упорство всё перетрут А можно выложить полное решение по сабжу: вывести пустое письмо с вложением через MAPI спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2014, 20:07 |
|
Можно ли вывести пустое письмо с вложением через MAPI?
|
|||
---|---|---|---|
#18+
катастрофа, а чем оно тебе не полное? Вложить один файл: Код: vbnet 1.
Вложить 2 файла: Код: vbnet 1.
Второй параметр - это разделитель, используемый в третьем и четвертом параметре 3-й параметр - разделенные пути к файлам 4-й параметр - то, что пишется в "теме" письма. У меня изначально был бардак во втором параметре. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2014, 22:22 |
|
Можно ли вывести пустое письмо с вложением через MAPI?
|
|||
---|---|---|---|
#18+
Дмитрий77, спасибо, понял, а не пустое письмо таким образом не делается? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2014, 22:38 |
|
Можно ли вывести пустое письмо с вложением через MAPI?
|
|||
---|---|---|---|
#18+
катастрофа, что значит не пустое? Оно с вложениями и с описаниями вложений в теме. Идея именно в том, чтоб из программы отправить какой-то файл (результат работы программы), т.е. вывести окно любимого пользователю почтового клиента с уже вложенными файлами, а адресатов пользователь добавит сам. Если нужно добавить адресатов или текст письма, то через Simple Mapi это делается, но API достаточно глючно работают с VB6, ну или надо разбираться, чего мне лично не нужно. В VB6 есть готовые контролы "Microsoft MAPI Controls 6.0", когда-то ими успешно пользовался. Также надо учесть что возможности MAPI весьма ограничены и Microsoft не очень-то их рекомендует. Для простейших случаев mailto: через ShellExecute, но вложения "официально" и "универсально" там не поддерживаются. Если нужна автоматика отправки и не ставить целью привязываться к почтовому MAPI-клиенту, то лучше всего подходит CDO. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2014, 23:28 |
|
|
start [/forum/topic.php?fid=60&fpage=43&tid=2156389]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
5ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
others: | 352ms |
total: | 519ms |
0 / 0 |