Имя: Пароль:
1C
 
При отправке письма из УНФ не сохраняется в отправленных.
0 Zombi
 
29.07.25
08:13
УНФ 3.0.11.119. Почта яндекс. Отправляют письма, и хотят чтобы они сохранялись в отправленных. В настройках почты в УНФ отдельно такой настройки не нашел. Полез в код. Отправляется письмо в общем модуле "РаботаСПочтовымиСообщениямиСлужебный", функция "ОтправитьПисьма" в строке:

Соединение.Послать(Письмо, ОбрабатыватьТексты, ПротоколИнтернетПочты.IMAP);

Вроде протокол IMAP, У "Сообщение" свойство "ТекущийПочтовыйЯщик" заполнено значением "Sent". Захожу на почту через веб, в папке "Отправленные" нет исходящих писем из 1с. Отдельно папки Sent нету, создать ее через веб тоже не дает. Я так понимаю, она и есть "Отправленные". Почему тогда могут не сохраняться исходящие письма?
1 b_ru
 
29.07.25
08:33
Потому что протоколы email никакого сохранения отправленных писем где-либо на сервере не предполагают. Это все функционал конкретных сервисов. У яндекса вроде будет работать, если в ТекущийПочтовыйЯщик не "Sent", а "Отправленные" установить. Можно в отладчике глянуть Соединение.ПолучитьПочтовыеЯщики() там по идее будет видно.
Ну или отправлять скрытую копию самому себе, а на сервере настроить фильтрацию, чтобы такие письма перемещались в папку "Отправленные".
2 Zombi
 
29.07.25
08:48
(1) Да. Текущий почтовый ящик определяется вот тут:

Процедура ОпределитьПапкуОтправленные(Соединение)
    
    ПочтовыеЯщики = Соединение.ПолучитьПочтовыеЯщики();
    Для Каждого ПочтовыйЯщик Из ПочтовыеЯщики Цикл
        Если НРег(ПочтовыйЯщик) = "отправленные"
            Или НРег(ПочтовыйЯщик) = "inbox.sent"
            Или НРег(ПочтовыйЯщик) = "sent"
            Или НРег(ПочтовыйЯщик) = "sentbox"
            Или НРег(ПочтовыйЯщик) = "sent items" Тогда
            
            Соединение.ТекущийПочтовыйЯщик = ПочтовыйЯщик;
            Прервать;
            
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры

Папки в настройках почты загружены из яндекса и есть только папка "Sent":
Ошибка? Это не ошибка, это системная функция.