Создание письма в OutLook с прикрепленным файлом ?
От: RedPank Россия  
Дата: 14.10.03 05:20
Оценка:
Никогда WEB программированием не занимался и врят-ли займусь ...

Прошу помочь сделать следующее:

Создается отчет в формате HTML (заголовок и таблица). Необходимо в этот отчет вставить кнопку/ссылку/или что другое, что-бы при нажатии на нее создавалось письмо с прикрепленным файлом.
Email, имя файла известны. OutLook запущен.

Есть-ли простой способ решения этой задачи ?
Необходимо, что-бы работало на IE 5.0 и выше.
Возможна установка на компьютер дополнительных компонент (не очень больших)
<HTML> 
 <HEAD> 
  <TITLE>Отчет ... </TITLE> 
 </HEAD>
 </BODY> 
  <PRE> 
  ... ТЕКСТ ...
  </PRE>
  <TABLE> 
  .................... ТАБЛИЦА ............ 
  <TABLE>  
...> Отсылка письма здесь <...
 </BODY>
</HTML>


Спасибо.
Re: Создание письма в OutLook с прикрепленным файлом ?
От: uzzy Россия  
Дата: 14.10.03 05:34
Оценка:
Здравствуйте, RedPank, Вы писали:

<a href="mailto:some@some.com?subject=Hi%20there">Пишите сюда</a>
как сразу указать файл аттачмента, не знаю
... << RSDN@Home 1.1 beta 2 >>
Re: Создание письма в OutLook с прикрепленным файлом ?
От: Aquary Россия https://wmspanel.com/
Дата: 14.10.03 05:43
Оценка:
Здравствуйте, RedPank, Вы писали:

RP>Создается отчет в формате HTML (заголовок и таблица). Необходимо в этот отчет вставить кнопку/ссылку/или что другое, что-бы при нажатии на нее создавалось письмо с прикрепленным файлом.

RP>Email, имя файла известны. OutLook запущен.

Для создания письма и прикрепления аттача можно использовать Simple MAPI, Ауткглюк его вроде поддерживает.
Авот как по нажанию вызвать приложение, которое с помощью SMAPI это сделает — тут надо уже ебе думать . Возможно внедрить какой-нибудь ActiveX-компонент...
https://wmspanel.com/nimble — Nimble Streamer media server for live and VOD HLS, RTMP, HTTP streaming
https://wmspanel.com/ — Control and reporting panel for Wowza and Nimble Streamer
http://scm-notes.blogspot.com/ — Блог об управлении конфигурацией
Re[2]: Создание письма в OutLook с прикрепленным файлом ?
От: RedPank Россия  
Дата: 14.10.03 06:06
Оценка:
Спасибо! Но мне хотелось бы иметь готовое решение.

P.S.
Я не ленивый, но на работе много других задач ...
Re[3]: Создание письма в OutLook с прикрепленным файлом ?
От: Aquary Россия https://wmspanel.com/
Дата: 14.10.03 06:10
Оценка:
Здравствуйте, RedPank, Вы писали:

RP>Спасибо! Но мне хотелось бы иметь готовое решение.



Если подождешь месяца 3-4 у меня похожая задача будет
https://wmspanel.com/nimble — Nimble Streamer media server for live and VOD HLS, RTMP, HTTP streaming
https://wmspanel.com/ — Control and reporting panel for Wowza and Nimble Streamer
http://scm-notes.blogspot.com/ — Блог об управлении конфигурацией
Re[4]: Создание письма в OutLook с прикрепленным файлом ?
От: RedPank Россия  
Дата: 14.10.03 06:32
Оценка:
Здравствуйте, Aquary, Вы писали:

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


RP>>Спасибо! Но мне хотелось бы иметь готовое решение.



A>Если подождешь месяца 3-4 у меня похожая задача будет


Не забудь прислать решение. Буду благодарен.
Для меня эта задача из темы "лкчшее — враг хорошего". В конце — концов файл можно и ручками отправить ...
Re[5]: Создание письма в OutLook с прикрепленным файлом ?
От: RedPank Россия  
Дата: 15.10.03 06:10
Оценка:
Неужели никто не знает ?
Re: Создание письма в OutLook с прикрепленным файлом ?
От: Сэма Россия  
Дата: 15.10.03 14:44
Оценка:
Здравствуйте, RedPank, Вы писали:

RP>Создается отчет в формате HTML (заголовок и таблица). Необходимо в этот отчет вставить кнопку/ссылку/или что другое, что-бы при нажатии на нее создавалось письмо с прикрепленным файлом.

...
А почему отправкой должен заниматься клиент а не сервер? Серверу оно это как-то сподручнее.
... Не раздражайте меня! Я уже не знаю куда прятать трупы!
Re[2]: Создание письма в OutLook с прикрепленным файлом ?
От: RedPank Россия  
Дата: 16.10.03 04:04
Оценка:
Здравствуйте, Сэма, Вы писали:

С>...

С>А почему отправкой должен заниматься клиент а не сервер? Серверу оно это как-то сподручнее.


Нет у меня никакого сервера ...
Есть приложение, которое создает отчет в формате HTML. Есть список адресов, для рассылки этого отчета.

Хочу,посмотрев отчет, нажать на кнопочку в нем и отправить его-же по почте ...

Вы можите спросить почему я не поручу отправку отчета приложению, которое его создает. Не мое это приложение. Не может оно почту рассылать. Отчеты делать может, а почту посылать — нет.
Re[3]: Создание письма в OutLook с прикрепленным файлом ?
От: Сэма Россия  
Дата: 16.10.03 06:07
Оценка:
Тогда попробуй вот такую конструкцию:
<script type="text/javascript">
<!--
function send_with_body(body)
{
    var adresse_email="vasya@pupkin.ru";
    document.write('<a href="mailto:'+adresse_email+'?body='+body+'">Послать</a>');
}
//-->
</script>

Текст передается в виде переменной body... Только при серьезном объеме — хлопотно это
... Похмелье — это иррациональная лемма, позволяющая ощутить разницу между кайфом и не-кайфом...
Re[4]: Создание письма в OutLook с прикрепленным файлом ?
От: Egor  
Дата: 16.10.03 07:11
Оценка:
Уважаема Сэма, Вы писали:

С>Тогда попробуй вот такую конструкцию:

С>
С><script type="text/javascript">
С><!--
С>function send_with_body(body)
С>{
С>    var adresse_email="vasya@pupkin.ru";
С>    document.write('<a href="mailto:'+adresse_email+'?body='+body+'">Послать</a>');
С>}
//-->>
С></script>
С>

С>Текст передается в виде переменной body...

Вот именно текст, но не файл!
Re[5]: Создание письма в OutLook с прикрепленным файлом ?
От: Сэма Россия  
Дата: 16.10.03 07:35
Оценка:
Здравствуйте, Egor, Вы писали:
E>Вот именно текст, но не файл!
Странно... Когда я таким способом пытался запихнуть HTML то вставлялся "размеченый" текст с табличками и ссылочками... А текст, раз он где-то рисуется, в переменную запихать легко. Но раз нужен именно файл-аттачмент, то обратимся к объектной модели и справке Outlook. Надеюсь он-то хоть не "экспрессо"? Иначе грустно. Так вот. Заходим в справку по Outlook и там читаем руководство по VB.
Можешь даже попробовать заскочить по этой ссылке: mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\Office10\1049\vbaol10.chm:/html/olobjAttachment.htm. Ссылка сработает, если на машине установлен OfficeXP. Но в Office2000 все тоже самое. Либо на MSDN'е можно взять.
...
Set myOlApp = CreateObject("Outlook.Application")
Set myItem = myOlApp.CreateItem(olMailItem)
Set myAttachments = myItem.Attachments
myAttachments.Add "C:\My Documents\Q496.xls", _
    olByValue, 1, "4th Quarter 1996 Results Chart"

...
... Похмелье — это иррациональная лемма, позволяющая ощутить разницу между кайфом и не-кайфом...
Re[6]: Создание письма в OutLook с прикрепленным файлом ?
От: Egor  
Дата: 16.10.03 08:39
Оценка:
Здравствуйте, Сэма, Вы писали:

С>
С>Set myOlApp = CreateObject("Outlook.Application")
С>Set myItem = myOlApp.CreateItem(olMailItem)
С>Set myAttachments = myItem.Attachments
С>myAttachments.Add "C:\My Documents\Q496.xls", _
С>    olByValue, 1, "4th Quarter 1996 Results Chart"
С>

С>...

Нормально. Спасибо.
Я почему-то думал что можно просто сделать так.
А именно
<a href="mailto:some@some.com?subject=Hi%20there">Пишите сюда</a>

Сюда можно еще приписать параметр body.
Вот я и подумал, а нет ли еще какого-нибудь параметра, который бы указывал на файл?
Re[6]: Создание письма в OutLook с прикрепленным файлом ?
От: RedPank Россия  
Дата: 16.10.03 10:59
Оценка:
В HTML — то это все как "засунуть" ???
Re[7]: Создание письма в OutLook с прикрепленным файлом ?
От: Сэма Россия  
Дата: 16.10.03 11:50
Оценка: 6 (1)
Присядь, друг. Для всех нас будет лучше, если ты услышишь эту новость сидя.
Оказывается в HTML-странички можно вставлять не только JavaScript, но и VBScript со всеми вытекающими функциями и процедурами.

<script language="VBScript">
...
Set myOlApp = CreateObject("Outlook.Application")
Set myItem = myOlApp.CreateItem(olMailItem)
Set myAttachments = myItem.Attachments
myAttachments.Add "C:\My Documents\Q496.xls", _
    olByValue, 1, "4th Quarter 1996 Results Chart"
...    
</script>

Вобщем, берем мануаль по VB и вперед. Другой вариант — перевести код на JavaScript. В данном случае требуются нектороые телодвижения. Так, строки:
Set myOlApp = CreateObject("Outlook.Application")
Set myItem = myOlApp.CreateItem(olMailItem)

превращаются в следующую конструкцию:
var myOlApp, myItem;
    myOlApp = new ActiveXObject("Outlook.Application");
    myItem = myOlApp.CreateItem(5);

По поводу 5-ки могу и ошибаться. Надо перебрать значения от 1 до 8. Просто ява "не знает" констант.

Ps: В предыдущем посте получлась абздача со ссылкой, надо в коммандную строку текст перенести и на выполнение. Тогда все нормально.
Pps: Конечно же "http://" в той ссылке совсем лишнее
Ppps: Можно сделать так, чтобы пользователь совсем не наблюдал процесса постинга. Для этого Application.Visible = false
... Не раздражайте меня! Я уже не знаю куда прятать трупы!
Re[8]: Создание письма в OutLook с прикрепленным файлом ?
От: Egor  
Дата: 16.10.03 22:47
Оценка:
Здравствуйте, Сэма, Вы писали:

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


Если можно, теперь переведите с армянского на русский (для паровоза)
Re[9]: Создание письма в OutLook с прикрепленным файлом ?
От: Сэма Россия  
Дата: 17.10.03 06:03
Оценка:
Здравствуйте, Egor, Вы писали:

E>Здравствуйте, Сэма, Вы писали:


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


E>Если можно, теперь переведите с армянского на русский (для паровоза)

Объясняю:
Ссылку на сабж "mk:@MSITStore:C:\Program%20Files\Microsoft%20Office\Office10\1049\vbaol10.chm:/html/olobjAttachment.htm" я попытался оформить в виде ссылки. Что есть совсем не зер гуд. В результате получилось "http://mk:@MSITStore:C:\Program..." и кликая по ссылке мы долго ищем в и-нете странного.
Если затащить текст в строку адреса експлоера, то тоже не получаем нужного результата. А вот затащив этот кусок текста в меню Пуск/Выполнить мы можем получить открытия страницы справки к OutlookXP (если он установлен на компе).
Я просто хотел дать ссылку на коллекцию Attachments. У меня не получилось. Об этом я и хотел сказать.
... Похмелье — это иррациональная лемма, позволяющая ощутить разницу между кайфом и не-кайфом...
Re: Создание письма в OutLook с прикрепленным файлом ?
От: RedPank Россия  
Дата: 17.10.03 08:08
Оценка: :)
Здравствуйте, RedPank, Вы писали:

RP>Никогда WEB программированием не занимался и врят-ли займусь ...


RP>Прошу помочь сделать следующее:


RP>Создается отчет в формате HTML (заголовок и таблица). Необходимо в этот отчет вставить кнопку/ссылку/или что другое, что-бы при нажатии на нее создавалось письмо с прикрепленным файлом.

RP>Email, имя файла известны. OutLook запущен.

RP>Есть-ли простой способ решения этой задачи ?

RP>Необходимо, что-бы работало на IE 5.0 и выше.
RP>Возможна установка на компьютер дополнительных компонент (не очень больших)
RP>
<HTML>> 
 <HEAD>> 
RP>  <TITLE>Отчет ... </TITLE> 
RP> </HEAD>
RP> </BODY> 
  <PRE>> 
RP>  ... ТЕКСТ ...
  </PRE>>
RP>  <TABLE> 
RP>  .................... ТАБЛИЦА ............ 
RP>  <TABLE>  
...>> Отсылка письма здесь <...
RP> </BODY>
RP></HTML>
RP>


RP>Спасибо.




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

Напишите, пожалуйсто, кусок кода в обрамлении HTML, который будет работать ...
Re[2]: Создание письма в OutLook с прикрепленным файлом ?
От: uzzy Россия  
Дата: 17.10.03 08:18
Оценка:
Здравствуйте, RedPank, Вы писали:

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


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

...Пусть я буду идиотом, зато получу код нахаляву, "кучу экспиреенсов и левелап" и стану WhitePank

P.S. Извините, не удержался...
P.P.S. Special thanks to "Гоблин".
... << RSDN@Home 1.1 beta 2 >>
Re[3]: Создание письма в OutLook с прикрепленным файлом ?
От: RedPank Россия  
Дата: 17.10.03 08:35
Оценка:
Здравствуйте, uzzy, Вы писали:

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


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


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

U>...Пусть я буду идиотом, зато получу код нахаляву, "кучу экспиреенсов и левелап" и стану WhitePank

U>P.S. Извините, не удержался...

U>P.P.S. Special thanks to "Гоблин".

У меня достаточно знаний в других областях и на работе я без дела не сижу. Что-бы я есче занимался изыскательскими работами в области HTML и Java — увольте!
Если можите подсказать — подскажите. А нет — промолчите.
Поиском я тоже умею пользоваться. Но вот готового куска кода нигде не нашел. Все больше пустые рассуждения псевдопрограммистов.
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...
Пока на собственное сообщение не было ответов, его можно удалить.