Re[4]: Создание письма в OutLook с прикрепленным файлом ?
От: uzzy Россия  
Дата: 17.10.03 11:26
Оценка: 9 (3)
Здравствуйте, RedPank, Вы писали:

RP>Здравствуйте, uzzy, Вы писали:


U>>Здравствуйте, RedPank, Вы писали:


RP>>>СЧИТАЙТЕ МЕНЯ ПОЛНЫМ ИДИОТОМ !!!


RP>>>Напишите, пожалуйсто, кусок кода в обрамлении HTML, который будет работать ...

U>>...Пусть я буду идиотом, зато получу код нахаляву, "кучу экспиреенсов и левелап" и стану WhitePank U>>P.S. Извините, не удержался...
U>>P.P.S. Special thanks to "Гоблин".

RP>У меня достаточно знаний в других областях и на работе я без дела не сижу.

Да я не сомневаюсь...
RP>Что-бы я есче занимался изыскательскими работами в области HTML и Java — увольте!
Действительно то, второй день все никак получить решение не можем... кстати не java, а javascript
RP>Если можите подсказать — подскажите. А нет — промолчите.
Я буду кричать .... шутка, уважаемый если вы прикол не понимаете... то уж извините, А подсказать вам подсказали, Вам же осталось только все собрать воедино, а Вам то ли лень, то ли влом, то ли ... хотя Вы сами это уже признали.
RP>Поиском я тоже умею пользоваться. Но вот готового куска кода нигде не нашел. Все больше пустые рассуждения псевдопрограммистов.
А как же без них? скучно будет..

В общем вот полный код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
   <title>Glow Filter</title>
   <meta name=vs_targetSchema content="HTML 4.0">
   <SCRIPT LANGUAGE="VBScript" EVENT="OnClick" FOR="b1">
   <!--
      Set myOlApp = CreateObject("Outlook.Application")
      Set myItem = myOlApp.CreateItem(olMailItem)
      Set myAttachments = myItem.Attachments
      myAttachments.Add "C:\Documents and Settings\Uzzy\Desktop\qqq.htm", olByValue, 1, "4th Quarter 1996 Results Chart"
      myItem.Recipients.Add ("uzzy@yandex.ru")
      myItem.Save
      myItem.Send
   -->
   </script>
</head>
<body>
<table>
<tr>
<td>1</td><td>2</td><td>3</td>
</tr>
<tr>
<td>1</td><td>2</td><td>3</td>
</tr>
<tr>
<td>1</td><td>2</td><td>3</td>
</tr>
<tr>
<td>1</td><td>2</td><td>3</td>
</tr>
<tr>
<td>1</td><td>2</td><td>3</td>
</tr>
</table>
<button id="b1">Отправить файл</button>
</body>
</html>


Правда:
1. При создании ActiveX-а сообщение службы безопасности IE
2. При добавлении Attachment-а — сообщение CБ Outlook-а
3. При добавлении Recipient-а — сообщение CБ Outlook-а (его можно избежать, поставив галочку одну)
4. Нажать YES
5. Открыть Outlook вручную запустить send-recieve, у меня не получилось
6. Письмо приходит без аттачмента, хотя в Outbox-e лежало с аттачментом
7. По-моему проще пользоваться самой программой Outlook

P.S. Мне понадобилось полтора часа на изучение VBScript-а и склеивания данных примеров.
P.P.S. Время было бы намного меньше если бы я не занимался работой ...
P.P.P.S. Извините, если задел (обидел, расстроил)
... << RSDN@Home 1.1 beta 2 >>
Re[4]: Создание письма в OutLook с прикрепленным файлом ?
От: Снорк  
Дата: 17.10.03 11:30
Оценка:
Здравствуйте, RedPank, Вы писали:

Возможно, поможет. А может и нет.
Посмотрите исходник любой страницы MSDN'а, там где стоит Send feedback. По ссылке запускается какой-то скрипт, который формирует текст письма. Сам скрипт надо будет вытащить из файла js, но это не так страшно, как может показаться. Я таким макаром вытаскивал css оттуда, чтобы глянуть, как были реализованы некоторые вещи. Кривовато, надо отметить. Так вот, может так же удастся аттачмент вставить?

Что касается готового кода, то если найдете — не забудьте про нас, сирых пвсевдопрограммистов: дайте линк. Всегда интересно поглядеть на чужое решение проблемы.
Re[5]: Создание письма в OutLook с прикрепленным файлом ?
От: Снорк  
Дата: 17.10.03 11:32
Оценка:
Ага, уже ответили.
Re[6]: Создание письма в OutLook с прикрепленным файлом ?
От: Barzini  
Дата: 24.10.03 14:02
Оценка: 1 (1)
Здравствуйте, RedPank, Вы писали:

RP>Неужели никто не знает ?


Привет.

Может такой вариант устроит? У меня как раз создается окошко с аттачем и всей мандулой.
Только проблема следущая: в созданном окне не показыает русских символов, а в полученном письме — все ОК.


#include <mapi.h>

int _tmain(int argc, _TCHAR* argv[])
{
HINSTANCE hInst = ::LoadLibraryA("MAPI32.DLL");

if (hInst == NULL)
{
return 0;
}

ULONG (PASCAL *lpfnSendMail)(ULONG, ULONG_PTR, MapiMessage*, FLAGS, ULONG);
(FARPROC&)lpfnSendMail = GetProcAddress(hInst, "MAPISendMail");
if (lpfnSendMail == NULL)
{
return 0;
}

// prepare the file description (for the attachment)
MapiFileDesc fileDesc;
memset(&fileDesc, 0, sizeof(fileDesc));
fileDesc.nPosition = (ULONG)-1;
fileDesc.lpszPathName = "E:\\test.c";
fileDesc.lpszFileName = "test.c";

MapiRecipDesc recepientDesc;
memset(&recepientDesc, 0, sizeof(recepientDesc));
recepientDesc.lpszName = "vasya@mail.ru";
recepientDesc.ulRecipClass = MAPI_TO;

// prepare the message (empty with 1 attachment)
MapiMessage message;
memset(&message, 0, sizeof(message));
message.nFileCount = 1;
message.lpFiles = &fileDesc;
message.lpszSubject = "test";
message.lpszNoteText = "Message";
message.nRecipCount = 1;
message.lpRecips = &recepientDesc;

// prepare for modal dialog box

int nError = lpfnSendMail(0, (ULONG_PTR)::GetDesktopWindow(),
&message, MAPI_LOGON_UI | MAPI_DIALOG, 0);

FreeLibrary(hInst);

return 0;
}
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.