УТ 10,3 настроил отправку писем, почта яндекс. Письма отправляются замечательно, но как можно настроить, чтобы отправленные письма сохранялись и можно было бы их просмотреть из почты? Может плохо искал, но ничего толкового не нашел в гугле.
Делал подобное, но только не на базе УТ10.3, а на базе КА1.1. Формировал письмо для отправки, но при этом еще сохранял его в виде документа "ЭлектронноеПисьмо". Использованы были существующие процедуры и функции в конфигурации по работе с электронной почтой (за исключением своих специфических). Примерный код следующий, разрешаю адаптировать под себя:
Процедура КИ_ОтправитьПисьмоСОшибкой(Данные, ОшибкаЗагрузки = Истина, ОшибкаВыгрузки = Истина)
СтруктураНовогоПисьма = Новый Структура;
СтруктураНовогоПисьма.Вставить("ВидТекста", Перечисления.ВидыТекстовЭлектронныхПисем.Текст);
ТекстПисьма = Новый ТекстовыйДокумент;
ТекстПисьма.ДобавитьСтроку(ВРег("Данное письмо сгенерировано автоматически из " + Метаданные.КраткаяИнформация + " (" + Метаданные.Версия + ")"));
ТекстПисьма.ДобавитьСтроку(Символы.ПС);
ТекстПисьма.ДобавитьСтроку("---------------------------------------------------------------------");
ТекстПисьма.ДобавитьСтроку("Произошли ошибки при обмене с сайтом по узлу: """ + Данные.УзелИнформационнойБазы + " (код " + Данные.УзелИнформационнойБазы.Код + ")""!");
ТекстПисьма.ДобавитьСтроку(Символы.ПС);
//ТекстПисьма.ДобавитьСтроку(""); // Добавляем информацию по ошибке обмена
Если ОшибкаЗагрузки Тогда
ВремяПоследнейЗагрузки = Данные.ДатаПоследнейЗагрузки - Данные.ДатаНачалаПоследнейЗагрузки;
СтрокаДляПользователя = Строка(Данные.ДатаПоследнейЗагрузки) + " (" +
КИ_ПолучитьПоРазностиВремениПредставлениеДляПользователя(ВремяПоследнейЗагрузки) + ")";
ТекстПисьма.ДобавитьСтроку("*** Ошибка при загрузке: " + СтрокаДляПользователя + ":" + Символы.ПС);
ТекстПисьма.ДобавитьСтроку(Данные.КомментарийКЗагрузкеДанных);
КонецЕсли;
ТекстПисьма.ДобавитьСтроку(Символы.ПС);
Если ОшибкаВыгрузки Тогда
ВремяПоследнейВыгрузки = Данные.ДатаПоследнейВыгрузки - Данные.ДатаНачалаПоследнейВыгрузки;
СтрокаДляПользователя = Строка(Данные.ДатаПоследнейВыгрузки) + " (" +
КИ_ПолучитьПоРазностиВремениПредставлениеДляПользователя(ВремяПоследнейВыгрузки) + ")";
ТекстПисьма.ДобавитьСтроку("*** Ошибка при выгрузке: " + СтрокаДляПользователя + ":" + Символы.ПС);
ТекстПисьма.ДобавитьСтроку(Данные.КомментарийКВыгрузкеДанных);
КонецЕсли;
ТекстПисьма.ДобавитьСтроку("---------------------------------------------------------------------");
СтруктураНовогоПисьма.Вставить("Тело", ТекстПисьма.ПолучитьТекст());
ТемаПисьма = Константы.КИ_ТемаПисьмаОбОшибкахОбменаССайтом.Получить() + " (дата обмена: " + Данные.Период + ")";
СтруктураНовогоПисьма.Вставить("Тема", ТемаПисьма);
СписокПолучателей = Новый СписокЗначений();
//СписокПолучателей.Добавить("<ИмяПользователя>@<Домен>.<Зона>");
МассивПолучателей = Константы.КИ_СписокПолучателейПисемОбОшибкахОбменаССайтом.Получить().Получить(); // ХранилищеЗначения
СписокПолучателей.ЗагрузитьЗначения(МассивПолучателей);
СтруктураНовогоПисьма.Вставить("Кому", СписокПолучателей);
СписокФайловВложений = Новый СписокЗначений;
ТекПользователь = Константы.КИ_ПользовательДляОтправкиПисемОбОшибкахОбменаССайтом.Получить();
СтруктураСозданногоПисьма = УправлениеЭлектроннойПочтой.НаписатьПисьмо(ТекПользователь, СтруктураНовогоПисьма,,,,,, Истина, Ложь);
Если ТипЗнч(СтруктураСозданногоПисьма) = Тип("Структура") Тогда
СсылкаНаПисьмо = Неопределено;
СтруктураСозданногоПисьма.Свойство("ПисьмоСсылка", СсылкаНаПисьмо);
//ЗаписьЖурналаРегистрации("KI.DEBUG",
// УровеньЖурналаРегистрации.Информация, Метаданные.Документы.ЭлектронноеПисьмо, ,
// "Проверка, тип значения: " + ТипЗнч(СсылкаНаПисьмо));
Письмо = СсылкаНаПисьмо.ПолучитьОбъект();
Письмо.СтатусПисьма = Перечисления.СтатусыПисем.Исходящее;
Письмо.Ответственный = ТекПользователь;
Попытка
Письмо.Записать();
Исключение
ОбщегоНазначения.СообщитьОбОшибке(ОписаниеОшибки());
Возврат;
КонецПопытки;
УчетныеЗаписи = Новый Массив;
УчетныеЗаписи.Добавить(Письмо.УчетнаяЗапись);
Письма = Новый Соответствие;
Письма.Вставить(Письмо.Ссылка, Письмо);
ТекстОшибок = "";
УправлениеЭлектроннойПочтой.ПолучениеОтправкаПисем(глЗначениеПеременной("глСоответствиеТекстовЭлектронныхПисем"), ТекПользователь, УчетныеЗаписи, Письма, Истина,, Ложь, ТекстОшибок);
#Если Клиент Тогда
Если НЕ ПустаяСтрока(ТекстОшибок) Тогда
Сообщить("Ошибка при отправке письма об ошибках обмена с сайтом: " + ТекстОшибок, СтатусСообщения.Информация);
КонецЕсли;
#КонецЕсли
Если ПустаяСтрока(ТекстОшибок) Тогда
ЗаписьЖурналаРегистрации("Получение электронных сообщений",
УровеньЖурналаРегистрации.Информация, Метаданные.Документы.ЭлектронноеПисьмо, ,
"Отправка электронных сообщений об ошибках обмена данными выполнено успешно");
Иначе
ЗаписьЖурналаРегистрации("Получение электронных сообщений",
УровеньЖурналаРегистрации.Ошибка, Метаданные.Документы.ЭлектронноеПисьмо, ,
"Отправка электронных сообщений об ошибках обмена данными выполнено с ошибками:" + Символы.ПС + ТекстОшибок);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Ты открываешь почту яндекс через браузер?
Они и так должны сохраняться в отправленных, в той почте с который ты отправляешь, во всяком случае у меня сохраняются(почта google).
Вообще, я думаю, что тема сейчас не актуальна! Конфигурации дорабатываются и сейчас все работает отменно. Конечно же, при условии, что при настройке учетной записи был выбран тип учетной записи IMAP.
Тестировалось на Бухгалтерии предприятия, редакция 3.0 (3.0.90.59).
Единственный момент, с которым я столкнулся. Почтовый ящик был вновь созданным. С него не было отправлено ни одного письма, по этому каталога Send на почтовом сервере видимо не было и все исходящие из 1С помещались тупо во входящие. Как только из почтовой программы было отправлено первое письмо, все решилось само собой.