Имя: Пароль:
1C
1С v8
В чем может быть ошибка. отправка письма
,
0 zladenuw
 
15.02.13
12:48
ошибка отправки письма: л.ллл@ллл.kiev.ua
{(171)}: Ошибка при вызове метода контекста (Послать): Время ожидания операции чтения истекло.
1 zladenuw
 
15.02.13
12:49
(0) именно на 1 ящике. письмо уходит. но 1с вылетает ошибкой
3 Vladal
 
15.02.13
12:59
Что занчит "на 1 ящике"? На одном работает, на другом висит?
Как отправляются стого ящика другим почтовиком или с веб-морды?

Приведи код, может, что-то там не так?
5 zladenuw
 
15.02.13
13:08
(3) ошибка только на 1 имейле. на который отправляю. 1с вылетает ошибкой. а письмо по логам почты уходит
6 zladenuw
 
15.02.13
13:11
(5) через телнет письмо уходит без ошибок. этот же текст письма на другой ящик уходит без проблем
7 Vladal
 
15.02.13
13:14
(4) В принципе нужно было только это:

      Попытка
           Почта=Новый ИнтернетПочта;
           Почта.Подключиться(Профиль);
           Почта.Послать(Письмо);
           Почта.Отключиться();
           КолПисем = КолПисем+1;
           ОписаниеРаботы = ОписаниеРаботы + Символы.ПС + "отправлено письмо адресату :"+Строка(Адрес.АдресЭлектроннойПочты);
        Попытка

Я удалил сообщение, там ящик в открытом виде был, чтобы не спамили.
8 Vladal
 
15.02.13
13:19
Если база типовая, то есть уже готовый механизм. Приведу пример с отправкой текстового файла во вложении:

       СтруктураПараметров = Новый Структура();
СтруктураПараметров.Вставить("УчетнаяЗапись", УчетнаяЗаписьДляОтправкиОтчетов);
       СтруктураПараметров.Вставить("Тема", Тема);
       СтруктураПараметров.Вставить("Тело", Тело);
       СтруктураПараметров.Вставить("ВидТекста", Перечисления.ВидыТекстовЭлектронныхПисем.Текст);
       СтруктураПараметров.Вставить("Кому", СписокАдресов);
       ИмяФайла = КаталогВременныхФайлов() + Суффикс + ".txt";
       Текст = Новый ТекстовыйДокумент;
       Текст.ДобавитьСтроку(Тело);
       Текст.Вывод = ИспользованиеВывода.Разрешить;
       Текст.Записать(ИмяФайла);
       
       // Вложения
       СписокФайловВложений = Новый СписокЗначений;
       СтруктураВложения = Новый Структура; // Повторяет структура справочника ВложенияЭлектронныхПисем
       СтруктураВложения.Вставить("ВидДанных",    Перечисления.ВидыДополнительнойИнформацииОбъектов.Файл);
       СтруктураВложения.Вставить("ИмяФайла",     Суффикс + ".txt");
       СтруктураВложения.Вставить("Наименование", НазваниеОтчета);
       СтруктураВложения.Вставить("Хранилище",    ИмяФайла);
СписокФайловВложений.Добавить(СтруктураВложения);
СтруктураПараметров.Вставить("СписокФайловВложений", СписокФайловВложений);
       СтруктураПисьма = УправлениеЭлектроннойПочтой.НаписатьПисьмо(Справочники.Пользователи.ПустаяСсылка(), СтруктураПараметров, Ложь,,,,, Ложь, Ложь);
       Если СтруктураПисьма <> Неопределено Тогда
           СоответствиеПисем                   = Новый Соответствие();
           СоответствиеТекстовЭлектронныхПисем = Новый Соответствие();
           СсылкаНаПисьмо = Неопределено;
СтруктураПисьма.Свойство("ПисьмоСсылка", СсылкаНаПисьмо);
           Если ЗначениеЗаполнено(СсылкаНаПисьмо) Тогда
СоответствиеПисем.Вставить(СсылкаНаПисьмо);
СоответствиеТекстовЭлектронныхПисем.Вставить(СсылкаНаПисьмо, Тело);
УправлениеЭлектроннойПочтой.ОтправитьПисьма(СоответствиеПисем, СоответствиеТекстовЭлектронныхПисем, Справочники.Пользователи.ПустаяСсылка(), Ложь);
           КонецЕсли;
       КонецЕсли;
       УдалитьФайлы(ИмяФайла);

Тело письма может быть и HTML. Где-то в закромах у меня был пример отправки/получения в самописке.
9 zladenuw
 
15.02.13
13:41
(7) спасибо.
база не типовая
10 zladenuw
 
15.02.13
14:00
(8) а можешь скинуть. если не трудно.
Я все равно не понял. причина именно в составленном тексте письма ? но на другой ящик уходить без проблем,
11 Vladal
 
15.02.13
14:07
(10) Это на домашнем компе. Только дома, отправь мне на почту вопрос, чтобы я не забыл.
12 zladenuw
 
15.02.13
14:25
(11) ок
13 Vladal
 
19.02.13
13:48
// Архивируем
   ФайлАрхива = Новый ЗаписьZipФайла(ПутьФайла + ИмяФайла + РасширениеZIP, "Discounts",,
   МетодСжатияZIP.Сжатие, УровеньСжатияZIP.Максимальный);
   ФайлАрхива.Добавить(ПутьФайла + ИмяФайла + РасширениеXML, РежимСохраненияПутейZIP.СохранятьОтносительныеПути);
   ФайлАрхива.Записать();
   ФайлАрхива = Неопределено;
 
   // Отправляем как вложение на почту
   Сообщение = Новый ИнтернетПочтовоеСообщение;
   Сообщение.Тексты.Добавить("Обмен =" + ПланыОбмена.Филиалы.ЭтотУзел().Наименование
                            + "= с =" + Ссылка.Наименование + "=");
   Сообщение.Отправитель = Константы.ПочтаПользовательSMTP.Получить();
   Сообщение.Тема = Имяфайла + РасширениеXML;
   Сообщение.Получатели.Добавить(Константы.ПочтаПользовательSMTP.Получить());
   Сообщение.Вложения.Добавить(Новый ДвоичныеДанные(ПутьФайла + ИмяФайла + РасширениеZIP), ИмяФайла + РасширениеZIP);
 
   ПрофильПочты = Новый ИнтернетПочтовыйПрофиль;
   ПрофильПочты.АдресСервераSMTP = Константы.ПочтаАдресСервераSMTP.Получить();
   ПрофильПочты.ПортSMTP         = Константы.ПочтаПортSMTP.Получить();
   ПрофильПочты.АдресСервераPOP3 = Константы.ПочтаАдресСервераPOP3.Получить();
   ПрофильПочты.ПортPOP3         = Константы.ПочтаПортPOP3.Получить();
   ПрофильПочты.Пароль           = Константы.ПочтаПароль.Получить();
   ПрофильПочты.ПарольSMTP       = Константы.ПочтаПарольSMTP.Получить();
   ПрофильПочты.Пользователь     = Константы.ПочтаПользователь.Получить();
   ПрофильПочты.ПользовательSMTP = Константы.ПочтаПользовательSMTP.Получить();
   ПрофильПочты.ВремяОжидания    = Константы.ПочтаВремяОжидания.Получить();
 
   Почта = Новый ИнтернетПочта;
   Попытка
       Почта.Подключиться(ПрофильПочты);
   Исключение
       Сообщить(ОписаниеОшибки());
       Возврат;
   КонецПопытки;
 
   Попытка
       Почта.ПолучитьЗаголовки();
   Исключение
       Возврат;
   КонецПопытки;
 
   Попытка
       //Пытаемся послать письмо
       Почта.Послать(Сообщение);
   Исключение
       Сообщить(ОписаниеОшибки());
       Почта.Отключиться();
       Возврат;
   КонецПопытки;
 
   //отключение
   Почта.Отключиться();