В терминологии я не силен, как и в многом другом :) Нужно нажав на скрипт в браузере (в данном случае букмарклет), создается тело письма в outlook, а из странички берутся данные для этого письма. Письмо же отправлять будет сам пользователь.
|
Цитата:
У вас север есть, почему им не отправляете почту, а занимаетесь изобретением велосипеда? |
Цитата:
|
Да, ситуация. Но с другой стороны и к лучшему. Не используйте для этого веб страницу. Можно используя HTML и JS или VBS, написать приложение, вот оно уже не будет иметь ограничений, можно открывать приложения с параметрами и т.п. Для этого достаточно поместить в html страницу тег hta, описав в нем параметры приложения, и изменить расширение .html на .hta. Страница будет запускаться как приложение.
Если с офисом установлен объект CDO, то отправить письмо можно так: var mail = new ActiveXObject("CDO.Message"); mail.Subject = "Тема"; mail.From = "адрес отправителя"; mail.To = "адрес получателя"; mail.HTMLBody = "<h1>HTML письмо</h1>"; mail.Send; mail = null; |
Беда в том, что использование сторонних программ запрещено, только js код в браузере, ну и расширения в Хроме. Ваш код у меня не заработал, видимо у меня не установлен CDO, что и на рабочем компе тоже.
Думаю пока использовать вариант с созданием файла .eml. Вот только у меня проблема. Как исправить код чтоб он работал без функции click ,т.е. для букмарклета. <!DOCTYPE html> <html><head></head> <body> <a href="#" onclick="myFunction()">Клик</a> <script> function myFunction() { var mailHtm ="<h1> Tekst <h1>"; var emailTo = "Komu"; var emailsubject = "Tema"; var emlCont = 'To: '+emailTo+'\n'; emlCont += 'Subject: '+emailsubject+'\n'; emlCont += 'X-Unsent: 1'+'\n'; emlCont += 'Content-Type: text/html'+'\n'; emlCont += ''+'\n'; emlCont += "<!DOCTYPE html><html><head></head><body>" + mailHtm + "</body></html>"; console.log(emlCont); var textFile = null; var data = new Blob([emlCont], {type: 'text/plain'}); if (textFile !== null) { window.URL.revokeObjectURL(textFile); } textFile = window.URL.createObjectURL(data); var a = document.createElement('a'); var linkText = document.createTextNode("fileLink"); a.appendChild(linkText); a.href = textFile; a.id = 'fileLink'; a.download = emailsubject+".eml"; a.style.visibility = "hidden"; document.body.appendChild(a); document.getElementById('fileLink').click(); } </script> </body></html> |
Как раз и из-за рамок, что бы можно эту таблицу в Экселе использовать. А сплошной текст мне не подходит.
|
Цитата:
HTA, это также html-страница, но работающая под управлением IE как приложение. Javascript на этой странице может подключать системные библиотеки, ActiveX компоненты. А это не сторонние приложения. Код приведенный и не будет выполняться в рамках веб страницы. Вот пример hta-приложения просто открывающего Блокнот. Сохраните его с расширением .hta и запустите. <html> <head> <meta content = "text/html; charset=windows-1251"> <title>Пример treeview в hta</title> <hta:application id="my" applicationname = "my" border = "thin" innerborder = "no" contextmenu = "no" maximizebutton = "no" minimizebutton = "no" sysmenu = "yes" selection = "no" showintaskbar = "yes" scroll = "no" singleinstance="yes" windowstate = "normal" /> </head> <body> <script> var wsh = new ActiveXObject("WScript.Shell") wsh.Run("notepad", 1) </script> </body> </html> |
Sayler91,
а это почитать доки о CDO. |
Цитата:
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 06:38. |