mailto
От: biba  
Дата: 19.11.02 14:11
Оценка:
Ситуация: есть desktop application под .Net (написан на C# & Managed C++). Стоит задача посылки подробных отчетов об ошибках по e-mail. Т.е. нужно вызывать почтового клиента с заготовкой письма (To, Subject, Body). Попытался это сделать через

System.Diagnostics.Process.Start("mailto:address?subject=....&body=...");


но наткнулся на следующие две проблемы:
1) когда тело сообщения достаточно большое (туда попадает стек вызовов), то происходит выход за пределы длины строки, которую жрет операционка для выполнения команд (у 2000-ой это около 2000 символов )
2) под 98-ой вообще не работает

Может кто подскажет как лучше решать подобную задачу или как преодолеть проблемы?!

Замечание: в качестве почтового клиента может быть Outlook, Outlook Express, Lotus Notes и не только...
Re: mailto
От: OlegO Россия http://www.mediachase.ru
Дата: 19.11.02 14:27
Оценка:
Здравствуйте, biba, Вы писали:

B>Ситуация: есть desktop application под .Net (написан на C# & Managed C++). Стоит задача посылки подробных отчетов об ошибках по e-mail. Т.е. нужно вызывать почтового клиента с заготовкой письма (To, Subject, Body). Попытался это сделать через


B>Может кто подскажет как лучше решать подобную задачу или как преодолеть проблемы?!


Я брал вариант примерно как у MS:

Генерил файлы с DUMP информацией (*.mdmp, описание системы (очень полезная штука), список процессов).

Затем стартовал дополнителное приложение (с параметрами ссылкой на эти файлы), которое и отправляла мои файлы, и рестартило мое приложение.

Как отправлять, ну хоть через почтовые клиенты, хоть POST запросы на сервер.
С уважением, OlegO.
Re[2]: mailto
От: biba  
Дата: 19.11.02 14:49
Оценка:
Здравствуйте, OlegO, Вы писали:

OO>Генерил файлы с DUMP информацией (*.mdmp,

Это можно.

> описание системы (очень полезная штука),

Это есть.

> список процессов).

Надобности в этом пока не ощутил.

OO>Затем стартовал дополнителное приложение

> (с параметрами ссылкой на эти файлы),
> которое и отправляла мои файлы,
> и рестартило мое приложение.
В моем случае это не надо. Приложение отлично продолжает функционировать

OO>Как отправлять, ну хоть через

> почтовые клиенты,
А как проще всего вызвать почтового клиента с заготовкой письма, к которуому уже будет прикреплен DUMP с информацией (*.mdmp) как attachment?

> хоть POST запросы на сервер.

Web-сервера нет
Да и не хорошо молчаливо посылать письма.
Смысл в том, чтоб всячески помочь пользователю послать отчет об ошибке в службу поддержки. Т.е. открыть почтового клиента с заготовкой письма так, чтобы пользователь мог добавить свои комментарии или вообще отказаться от посылки письма.
Re[3]: mailto
От: Spark2K Россия  
Дата: 19.11.02 18:51
Оценка:
Здравствуйте, biba, Вы писали:

B>Да и не хорошо молчаливо посылать письма.


Так сделай как в офисе. Выведи окошко: мол так и так, произошла ошибка, можно послать отчет? Если да, — посылай. Как говорится: "Все по-честному".
Не упирайся в почтовую программу. Нужны комментарии пользователя? Ну спроси его, может он чего добавить хочет (ну или просто добавь кнопку "Advanced...").

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


Оно, может, логично, но не эргономично. Два раза запрашивать подтверждение (создание письма, посылка письма).
Не будешь же ты создавать письмо без предупреждения?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.