Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.08.2017, 18:29
Аспирант
Отправить личное сообщение для Sayler91 Посмотреть профиль Найти все сообщения от Sayler91
 
Регистрация: 04.03.2017
Сообщений: 90

В терминологии я не силен, как и в многом другом Нужно нажав на скрипт в браузере (в данном случае букмарклет), создается тело письма в outlook, а из странички берутся данные для этого письма. Письмо же отправлять будет сам пользователь.
Ответить с цитированием
  #12 (permalink)  
Старый 13.08.2017, 18:39
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Sayler91
создается тело письма в outlook
И что дальше? Outlook, это .eml, имеющий определенный формат. Ну создали вы его, что дальше? Вы же не хотите сохранять в файл, чтобы пользователь его потом открывал в Outlook. Во-первых у пользователя должен быть установлен этот почтовый клиент (да и вообще какой либо) и доступна почта, во-вторых вы должны разъяснить пользователю как указать в браузере открывать такие файлы. Файл созданный при этом нужно предлагать скачать. При соблюдении этих условий будет работать.

У вас север есть, почему им не отправляете почту, а занимаетесь изобретением велосипеда?
Ответить с цитированием
  #13 (permalink)  
Старый 13.08.2017, 18:47
Аспирант
Отправить личное сообщение для Sayler91 Посмотреть профиль Найти все сообщения от Sayler91
 
Регистрация: 04.03.2017
Сообщений: 90

Сообщение от laimas Посмотреть сообщение
И что дальше? Outlook, это .eml, имеющий определенный формат. Ну создали вы его, что дальше? Вы же не хотите сохранять в файл, чтобы пользователь его потом открывал в Outlook. Во-первых у пользователя должен быть установлен этот почтовый клиент (да и вообще какой либо) и доступна почта, во-вторых вы должны разъяснить пользователю как указать в браузере открывать такие файлы. Файл созданный при этом нужно предлагать скачать. При соблюдении этих условий будет работать.

У вас север есть, почему им не отправляете почту, а занимаетесь изобретением велосипеда?
Все это я делаю для своей работы, которая не связана с программированием.JS я использую для работы с данными. Доступ к внешнему интернету отсутствует, только локальная связь. И у каждого пользователя установлен только Outlook. И да, я не хочу чтоб создавался файл .eml. по этому ищу другой способ.
Ответить с цитированием
  #14 (permalink)  
Старый 13.08.2017, 19:15
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Да, ситуация. Но с другой стороны и к лучшему. Не используйте для этого веб страницу. Можно используя 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;
Ответить с цитированием
  #15 (permalink)  
Старый 13.08.2017, 20:01
Аспирант
Отправить личное сообщение для Sayler91 Посмотреть профиль Найти все сообщения от Sayler91
 
Регистрация: 04.03.2017
Сообщений: 90

Беда в том, что использование сторонних программ запрещено, только 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>
Ответить с цитированием
  #16 (permalink)  
Старый 13.08.2017, 20:22
Аспирант
Отправить личное сообщение для Sayler91 Посмотреть профиль Найти все сообщения от Sayler91
 
Регистрация: 04.03.2017
Сообщений: 90

Как раз и из-за рамок, что бы можно эту таблицу в Экселе использовать. А сплошной текст мне не подходит.
Ответить с цитированием
  #17 (permalink)  
Старый 13.08.2017, 20:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Sayler91
Беда в том, что использование сторонних программ запрещено
Где вы увидели в коде приведенном сторонние программы?! Я же русским языком написал - веб страница из под браузера беспомощна, на нее накладываются ограничения. Javasript из под такой страницы практически бесправен.

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>
Ответить с цитированием
  #18 (permalink)  
Старый 13.08.2017, 20:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Sayler91,
а это почитать доки о CDO.
Ответить с цитированием
  #19 (permalink)  
Старый 13.08.2017, 20:38
Аспирант
Отправить личное сообщение для Sayler91 Посмотреть профиль Найти все сообщения от Sayler91
 
Регистрация: 04.03.2017
Сообщений: 90

Сообщение от laimas Посмотреть сообщение
HTA, это также html-страница, но работающая под управлением IE как приложение. Javascript на этой странице может подключать системные библиотеки, ActiveX компоненты. А это не сторонние приложения.

Код приведенный и не будет выполняться в рамках веб страницы.
Т.е. допустим я буду запускать файл .hta на рабочем столе, а как брать данные со странички с браузера?

Сообщение от Rise Посмотреть сообщение
Sayler91,
А CSV-формат разве нельзя в экселе использовать?
В теории можно, но мне именно таблица нужна А вы сможете подсказать как переделать код для использования без функции onclick, чтоб он сразу работал в посте№3 ?

Последний раз редактировалось Sayler91, 13.08.2017 в 20:49.
Ответить с цитированием
  #20 (permalink)  
Старый 13.08.2017, 20:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Sayler91
Т.е. допустим я буду запускать файл .hta на рабочем столе, а как брать данные со странички с браузера?
Причем тут браузер если вы же сами сказали что в офлайн все происходит, доступа к сети нет?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправка формы через ajax на разные email Smike AJAX и COMET 7 12.11.2014 08:58
Почему не отправляются письма c VPS? (Немного общий вопрос) Urukhay Общие вопросы Javascript 1 22.10.2014 01:36
Значение переменной через запятую DDSSDD Серверные языки и технологии 41 16.10.2014 15:01
Отправка через $.post - уже 2-й день мучаюсь! Alexander666 jQuery 4 20.02.2009 16:18
отправка файла через обработчик события submit starrich AJAX и COMET 2 13.08.2008 22:29