Имя: Пароль:
1C
1С v8
Отправка эл.писем из ут 10.3
,
0 kIR
 
24.06.14
13:31
Доброго дня!
Понимаю,что вопрос бородатый,но все же:
Отправляю письма из 1с,код такой:

Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = "smtp.gmail.com";
Профиль.ПортSMTP = 465;
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;
Профиль.ПользовательSMTP = "[email protected]";
Профиль.ПарольSMTP = "123";

Профиль.Пользователь = "[email protected]";
Профиль.Пароль = "123";


Профиль.АдресСервераPOP3 = "pop3.gmail.com";
Профиль.ПортPOP3 = 110;
Профиль.АутентификацияPOP3  = СпособPOP3Аутентификации.Обычная;


Почта = Новый ИнтернетПочта;

Почта.Подключиться(Профиль);

пс = Новый ИнтернетПочтовоеСообщение;
    пс.Получатели.Добавить(Адресат);
    Пс.Отправитель = "[email protected]";
    пс.Тема = "Отчет по ЗаказНаряду за " + Формат(дата,"ДЛФ=Д");
    Текст =  "
    |<h3>  Привет !</h3>
    |Это  письмо с вложенной картинкой.<br />
    |Картинка:<br  />
    |Конец  письма.
    |";

    пс.Тексты.Добавить(Текст,ТипТекстаПочтовогоСообщения.HTML);
    Пс.ОбработатьТексты();

    
    
    Почта.Послать(пс);
    Почта.Отключиться();

В справочнике "Учетные записи эл.почты" с такими данными подключается без проблем
Сейчас же при попытке отправить долго думает,затем выпадает ошибка
"Время ожидание операции чтения истекло"

{Форма.ФормаОтчета.Форма(248)}: Ошибка при вызове метода контекста (Подключиться)
        Почта.Подключиться(Профиль);
по причине:
Время ожидания операции чтения истекло.
1 Segate
 
24.06.14
13:33
(0) сотри доступность... подключиться не может, палдает по таймауту
2 kIR
 
24.06.14
13:34
(1) я понимаю,что по таймауту(стандартный - 30 сек). А что за доступность то?
3 PuhUfa
 
24.06.14
13:40
4 kIR
 
24.06.14
13:46
(3) ни о чем как тоэ.Если я пользуюсь документом "ЭлектронноеПисьмо",то с этими же данными все уходит спокойно
5 kIR
 
24.06.14
14:05
Потер,что мог - все равно не хочет,гадина)
6 kIR
 
24.06.14
14:55
(1)Segate, так что лишнее то?)
7 Segate
 
24.06.14
15:07
(6) не сотри, а смотри... опечатался. Ты можешь подключиться к серверу? Прокси там... или еще что нть такое есть? Может ошибка в параметрах?
8 kIR
 
24.06.14
15:47
(7) Я параметры то брал из справочника "Учетные записи эл.почты".Оттуда тест проходит на отлично,без проблем
9 Segate
 
24.06.14
15:52
(8) а что тебе мешает и в этот раз брать параметры из справочника?
Если это УТ, то должен быть общий модуль для работы с почтой, если его нет, то четкое описание процедуры должно быть в документе "электронное письмо исходящее" там все можно подробно посмотреть и скопипастить.
10 kIR
 
24.06.14
16:23
(9) так я и в этот раз беру) до этого все было реализовано с помощью документа "Электронное письмо",но не получилось в текст письма программно передать хтмл
Гугл посоветовал использовать  "ИнтернетПочтовоеСообщение",но тут вот возникли проблемы с подключением
11 Segate
 
24.06.14
17:12
А в документе электронное письмо, как отправляется письмо? Это наводящий вопрос, он должен натолкнуть тебя на мысль.
12 kIR
 
24.06.14
17:23
(11)Там оно отправляется через Общий модуль УправлениеЭлектроннойПочтой.ПолучениеОтправкаПисем
Что неприменимо тут. Тем более здесь он даже не подключается
13 kIR
 
26.06.14
16:15
ап?
14 Segate
 
26.06.14
16:19
оу щит. Что значит модуль не подключается? Почему не применимо?Почему нельзя нажать на f12 и посмотреть, что за процедура ПолучениеОтправкаПисем? И не воспользоваться тупо ей? Я уверен, там в параметразх надо просто передать текст отправителя и тд, и все сработает кагбэ само
15 kIR
 
27.06.14
09:24
(13) в плане,что не то,что отправка,а даже просто подключение к почте не подходит
Сейчас все реализовано следующим образом:

Письмо = Документы.ЭлектронноеПисьмо.СоздатьДокумент();
    Письмо.Тема = "Отчет" ;
    
    СтрокаКомуТч = Письмо.КомуТЧ.Добавить();
    СтрокаКомуТч.АдресЭлектроннойПочты = Адресат;
    СтрокаКомуТч.Представление = Адресат;
    
    Письмо.ОтправительИмя = "ks";
    Письмо.Дата = ТекущаяДата();
    Письмо.ОтправительАдресЭлектроннойПочты = "[email protected]";
    Письмо.УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию("[email protected]");
    Письмо.СтатусПисьма = Перечисления.СтатусыПисем.Исходящее;
    Письмо.ВидТекстаПисьма = Перечисления.ВидыТекстовЭлектронныхПисем.HTML;

    письмо.ЕстьВложения = Истина;
Текст =  "
    |<h3>Заголовок</h3>
    |<b>Жирный текст</b>
    |Обычный текст.
    |<table style='border: 1px solid black'>
    |<tr>
    |<td>
    |123
    |</td>
    |</tr>
    |</table>";
Письмо.Текст = Текст;
    Вложение = Справочники.ВложенияЭлектронныхПисем.СоздатьЭлемент();
    Вложение.ИмяФайла = ИмяФайла;
    Вложение.Объект = Письмо.ссылка;
    Вложение.Наименование ="Отчет по ЗаказНаряду за " + Формат(дата,"ДЛФ=Д");
    Вложение.Хранилище = Новый ХранилищеЗначения(Новый ДвоичныеДанные(КаталогВременныхФайлов()+ИмяФайла), Новый СжатиеДанных());
    Вложение.Записать();

    Если УправлениеЭлектроннойПочтой.ПолучитьДоступныеУчетныеЗаписи(глЗначениеПеременной("глТекущийПользователь")).Запись.НайтиПоЗначению(Профи.УчетнаяЗапись) <> Неопределено Тогда
        УчетныеЗаписи = Новый Массив;
        УчетныеЗаписи.Добавить(Письмо.УчетнаяЗапись);
        Письма = Новый Соответствие;
        Письма.Вставить(Письмо.Ссылка, Письмо);
        УправлениеЭлектроннойПочтой.ПолучениеОтправкаПисем(глЗначениеПеременной("глСоответствиеТекстовЭлектронныхПисем"), глЗначениеПеременной("глТекущийПользователь"), УчетныеЗаписи, Письма, Истина);
    КонецЕсли;





НУ а как моим нынешним способом это реализовать - хз((
16 Strogg
 
27.06.14
10:17
Stunnel спасет автора.
17 Segate
 
27.06.14
11:07
Ой, ну ни тупи! поставь курсор на "УправлениеЭлектроннойПочтой.ПолучениеОтправкаПисем" нажми ф12 и посмотри как происходит отправка, потом сделай свой пакет и вызови процедуру отправки п аналогии
18 kIR
 
27.06.14
13:04
(17)посмотрел давно))Ну не тупее паровоза же))Эта процедура отпраляет документ "Электронная почта"

Вообще задача была в письме формировать текст в хтмл-е,но при формировании документом "Электронное письмо",в 1с-ке в письме ХТМЛ есть,а в пришедшем на почту - нет

Поэтому хотел использовать способ,представленный в сабже
19 Segate
 
27.06.14
13:12
(18) какой, *простите* нахрен, документ? Документ - элемент метаданных конфигурации. Он никуда не отправляется из конфигурации, и вообще к письму на твоем емейле имеет очень опосредованное отношение. Перед отправкой формитруется точно такое же письмо, как и у тебя(внезапно в процедуре) и точно так же присваиваются параметры. просто надо найти где.
20 Hans
 
27.06.14
13:24
(18) Перед отправкой смотрел точно все теги формируются как надо? где тег <НТМЛ>?  в 1С если создать макет определенного вида то можно на одной страничке редактировать текст а на другой будет ХТМЛ код этого текста.
21 Segate
 
27.06.14
13:24
(18)ут 10.3 нет под рукой, в УТ11 нашел процедуру отвечающую за отправку, которая !ВНЕЗАПНО! формирует ИнтернетПочтовоеСообщение. За 40 секунд.ЧЯДНТ?
22 kIR
 
30.06.14
12:40
(19)(21) сенсей,каюсь,не достиг еще уровня вашего дзен,нашел свой косяк,а вернее косяк работающего тут до меня программиста)

Сейчас все отправилось,но письмо приходит с таким текстом:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head content="text/html" http-equiv="Content-Type" charset=""></head><body><h3>Заголовок</h3>
<b>Жирный текст</b>
Обычный текст.
<table style="border: 1px solid black"><tr><td>
123
</td>
</tr></table></body></html>
23 1cVandal
 
30.06.14
12:47
(22) типписьма текст, а надо хтмл
24 kIR
 
30.06.14
12:51
(23) указываю

пс.Тексты.Добавить(Текст,ТипТекстаПочтовогоСообщения.HTML);
25 kIR
 
30.06.14
13:48
Вообще я понимаю,что все так,потому что charset="" ,но исправить не получается