IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Программирование (https://www.imho.ws/forumdisplay.php?f=40)
-   -   Заполнить письмо программно для почтовой программы по умолчанию. (https://www.imho.ws/showthread.php?t=74623)

kot_ 29.11.2004 14:19

Заполнить письмо программно для почтовой программы по умолчанию.
 
Задача выглядит следующим образом - имеется некоторая структура - заголовок, тело письма. Мне хотелось бы, что бы пользователь мог из моей программы сформировать почтовое сообщение в почтовой программе установленной по умолчанию. Один вариант я знаю - открыть письмо и программно скопировать туда нужную информацию, симитировав Ctrl-C - Ctrl-V. Но мне кажется, что существует более изящное решение этой проблемы. Второй вариант - использование ОЛЕ-объектов. Тогда какие команды поддерживают и Аутглюк и мыш?

ЕЖ 29.11.2004 14:33

Офисный аутглюк поддерживает полный протокол MAPI, а вот Bat (зараза) - только SimpleMAPI (http://www.nobat.ru/simplemapi.html). Но для формирования письма с адресатом, темой и телом хватает и SMAPI. Для работы с почтой это самое удобное.

alexey_ma 29.11.2004 15:15

Почтовую программу установленную по умолчанию можно открыть с коммандной строки. Поэтому можешь воспользоваться функцией ShellExecute.
Примерно так:
Код:

ShellExecute(NULL, "open", "mailto:alexmm@inter.net.il&subject=Тут пишешь текст сабжекта &Body=А тут пишешь текст сообщения", NULL, NULL, SW_SHOWNORMAL);

kot_ 29.11.2004 15:38

Цитата:

alexey_ma:
Почтовую программу установленную по умолчанию можно открыть с коммандной строки. Поэтому можешь воспользоваться функцией ShellExecute.
Вопрос был не о этом - как открыть и запустить ПМ по умолчанию - я знаю. Но к сожалению, не пойму как передать тему, прекрепленные файлы и текст письма. Проблема в этом.

alexey_ma 29.11.2004 16:39

Цитата:

kot_:
Задача выглядит следующим образом - имеется некоторая структура - заголовок, тело письма.
Про аттачи ты не спрашивал. Не знаю как его отправить, нужно протокол mailto: смотреть. А тело письма, адрес и сабжект ты заполняешь в параметрах команды.
Еще раз для особо внимательных :
ShellExecute(NULL, "open", "mailto:alexmm@inter.net.il&subject=Тут пишешь текст сабжекта &Body=А тут пишешь текст сообщения", NULL, NULL, SW_SHOWNORMAL);

Получаешь открытую почтовую программу с заполненными полями адрес,сабжект и тело сообщения.

Alex Dark 29.11.2004 17:36

Я нечто подобное спрашивал здесь год или больше назад.
Задача была посложнее. Письмо должно было формироваться из под ДОСа
Из всего предложенного выбрал написание проги на дельфе. Не мудрствуя лукаво взял готовую прогу (в исходнике) переделал для себя.
т. е. формируется файл-ТХТ в котором описано:
адрес кому, адрес от кого, тема, тело, ссылка на аттач. потом запускается эта прога с параметром файл-ТХТ. формируется письмо и оно уходит. Посмотри delphi4all.narod.ru там должна быть эта прога как пример

отрицательный момент - в почтовике ничего не оседает :p

alexey_ma 29.11.2004 17:57

2 Alex_Dark.
Удивительно. Ты мой земляк. Я до 94 года работал в Opeнбургской таможне в АСУ.
Прошу прощения за off.

kot_ 29.11.2004 18:15

Нее...вариант с MAPI и как лайт-вариант ShellExecute. Мне необходимо связать почту и программу. Т.е. что бы оседало... :)
Так что в принципе тему можно считать закрытой. Ссылка ЕЖ'а и как простейший вариант alexey_ma полностью проблему решают.


Часовой пояс GMT +4, время: 21:38.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.