Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / достался пооект web на VS c# / 13 сообщений из 13, страница 1 из 1
13.08.2013, 11:34
    #38364380
denis_stell
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
Добрый день, жители форума!
Можете подсказать в чём прокол?
Достался web проект на vs c#, суть заполняют основную форму, вызывается метод отправки письма, заполняется тело письма,заголовок итд из основной формы.У пользователя стояла винда xp+outlook 2003, машина переехала на win7 + outlook2010, отправка письма корректно перестала работать.
т.е. идет импорт в оутлук, но заполняется "крякозябрами". код html
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
<html>
<head>
<title>Отправка e-mail письма</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
    function start_outlook()
 {  
      var subjecttext;
      var bodytext;
      subjecttext=getParam("subject").replace(/ /g,"\xA0");
      bodytext=getParam("body").replace(/ /g,"\xA0").replace(/pena/g,"\x0A");
      form1.action="mailto:"+getParam("to");
      form1.enctype = "text/plain;
      form1.subject.value=subjecttext;
      form1.body.value=bodytext;
      form1.submit();
}
function getParam(sParamName){
    var Params = location.search.substring(1).split("&"); // отсекаем «?» и вносим переменные и их значения в массив
    var variable = "";
    for (var i = 0; i < Params.length; i++){ // пробегаем весь массив
        if (Params[i].split("=")[0] == sParamName){ // если это искомая переменная — бинго!
            if (Params[i].split("=").length > 1) variable = Params[i].split("=")[1]; // если значение параметра задано, то возвращаем его
            return variable;
        }
    }
    return "";
}
</script>

</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" bgcolor="#FFFFFF" onLoad="start_outlook()">
<form name="form1" enctype="text/plain">
  <input name="subject" type="hidden" value="">
  <input name="body" type="hidden" value="">
</form>
</body>
</html>



Ребят,как быть?
...
Рейтинг: 0 / 0
13.08.2013, 11:36
    #38364385
thresher8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
denis_stellРебят,как быть?стукнуть лопатой, завернуть в xml и закопать.

нахуа вообще с клиента письма слать?
...
Рейтинг: 0 / 0
13.08.2013, 11:39
    #38364392
denis_stell
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
thresher8,

без понятия почему, так реализовано.
...
Рейтинг: 0 / 0
13.08.2013, 11:41
    #38364396
thresher8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
denis_stell,

узнай у начальства/стейкхолдеров/пользователей как это используется и переделай на серверную отправку писем
...
Рейтинг: 0 / 0
13.08.2013, 11:44
    #38364403
denis_stell
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
thresher8,

а в данном варианте исправить нельзя?
...
Рейтинг: 0 / 0
13.08.2013, 11:47
    #38364410
thresher8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
я вообще не понимаю, что жтот код делает. почитай про smtpclient, там дел на три часа
...
Рейтинг: 0 / 0
13.08.2013, 12:00
    #38364431
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
denis_stell,

...попробуйте просто charset поменять на utf-8
...
Рейтинг: 0 / 0
13.08.2013, 13:01
    #38364528
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
Раз пошла такая пьянка.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
function SendMail(subjecttext, bodytext, to) {
    try {

        var oa = GetObject("", "Outlook.Application");
        var ai = oa.ActiveInspector;
        var inBox = oa.Session.GetDefaultFolder(6);
        var NewForm = inBox.Items.Add("IPM.Note");
        NewForm.HTMLBody = bodytext;
        NewForm.Subject = subjecttext;
        NewForm.To = to;
        NewForm.Send();
    }
    catch (e) {
        alert(e.message);
    }
}
...
Рейтинг: 0 / 0
13.08.2013, 15:11
    #38364774
denis_stell
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
carrotikdenis_stell,

...попробуйте просто charset поменять на utf-8

пробовал,но при вызове старта ошибка -
Область данных переданная сис. вызовом слишком мала. (если убираю вызов mailto, ошибка что длина строки запроса превышает установленное значение MaxQueryStringLength)
...
Рейтинг: 0 / 0
13.08.2013, 15:12
    #38364779
denis_stell
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
ЕвгенийВРаз пошла такая пьянка.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
function SendMail(subjecttext, bodytext, to) {
    try {

        var oa = GetObject("", "Outlook.Application");
        var ai = oa.ActiveInspector;
        var inBox = oa.Session.GetDefaultFolder(6);
        var NewForm = inBox.Items.Add("IPM.Note");
        NewForm.HTMLBody = bodytext;
        NewForm.Subject = subjecttext;
        NewForm.To = to;
        NewForm.Send();
    }
    catch (e) {
        alert(e.message);
    }
}



Спасибо,попробовал!
но при вызове процедуры - ошибка "Невозможно создание объекта сервером программирования объектов"
...
Рейтинг: 0 / 0
13.08.2013, 16:16
    #38364952
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
denis_stell
Спасибо,попробовал!
но при вызове процедуры - ошибка "Невозможно создание объекта сервером программирования объектов"
Нужно использовать IE и разрешить создание ActivX для этого узла.
Я так взаимодействую с outlook из страницы в самом outlook.
А правильней в твоем случае сделать как посоветовали выше, отправлять письма на серверной стороне.
...
Рейтинг: 0 / 0
13.08.2013, 17:06
    #38365089
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
ЕвгенийВА правильней в твоем случае сделать как посоветовали выше, отправлять письма на серверной стороне.По идее код ТСа открывает почтовый клиент по умолчанию на машине клиента.
Забавно вместо этого советовать отправлять письма на сервере
...
Рейтинг: 0 / 0
13.08.2013, 18:09
    #38365178
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
достался пооект web на VS c#
denis_stell,

... еще можно попробовать form.enctype="text/html" .... а потом еще что-либо попробовать .. а уж потом погуглить send email with javascript что ли ... хотя все это можно заменить просто гиперссылкой mailto:
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / достался пооект web на VS c# / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]