Имя: Пароль:
1C
 
Зачем письмо посылается два раза? (по IMAP и по SMTP)
,
0 Ильф
 
14.02.25
13:40
РаботаСПочтовымиСообщениямиСлужебный
Функция ОтправитьПисьма(

	Если ПротоколПолученияПочты = ПротоколИнтернетПочты.IMAP Тогда
		Соединение.Послать(Письмо, ОбрабатыватьТексты, ПротоколИнтернетПочты.IMAP);
		РезультатОтправкиПисьма.Вставить("ИдентификаторПисьмаIMAP", Письмо.ИдентификаторСообщения);
		
		ФлагиПисьма = Новый ФлагиИнтернетПочтовогоСообщения;
		ФлагиПисьма.Прочитанное = Истина;
		ФлагиПисем = Новый Соответствие;
		ФлагиПисем.Вставить(Письмо.ИдентификаторСообщения, ФлагиПисьма);
		Соединение.УстановитьФлагиСообщений(ФлагиПисем);
	КонецЕсли;
	
	ОшибочныеПолучатели = Новый Соответствие;
	Попытка
		ОшибочныеПолучатели = Соединение.Послать(Письмо, ОбрабатыватьТексты, ПротоколИнтернетПочты.SMTP);
	Исключение
1 Garykom
 
гуру
14.02.25
14:02
В БСП тоже бывают косяки

ДО 2.1?
2 Ильф
 
14.02.25
14:10
ДО 3.0 и Больница последняя
3 Garykom
 
гуру
14.02.25
14:21
(1)+ походу это не баг а фича
через IMAP "копия" письма просто кладется в папку "Отправленных", реальной отправки на почтовом сервере не происходит
реальная отправка происходит по протоколу SMTP, после этого
4 Chai Nic
 
14.02.25
14:24
(3) Ну в принципе почтовому серверу ничто не мешает быть настроенному так, чтобы отправлять письмо при перемещении письма в папку "Отправленные" через IMAP. Тем самым исключается обмен с клиентской программой по SMTP.
5 Garykom
 
гуру
14.02.25
14:24
(4) угу
сталкивался что типовые 1С "странно" работают с некоторым email-серверами
так же во многих почтовых серверах настроен запрет отправки полных дублей писем почти сразу
6 alex73
 
14.02.25
14:56
Енип, IMAP в принципе не поддерживает отправку сообщений. Но IMAP позволяет что-то делать с самим сообщением (перемещать между папкам, например). Тут тоже - отправка через SMTP, а через IMAP - делается какая-то обработка сообщения внутри почтового сервера.
7 DeeK
 
17.02.25
14:59
(0) imap не отправляет, а по smtp не будет в папке отправленных, по smtp - отправляют, по imap - кладут в папку отправленные

ну у меня так было
8 Hmster
 
17.02.25
20:20
(0) по IMAP происходит авторизация
9 Волшебник
 
17.02.25
20:45
(8) 👍 Прикольно!
10 vbus
 
17.02.25
20:52
11 Волшебник
 
17.02.25
20:54
(10) боже мой, зачем тут анимация?
12 Garykom
 
гуру
18.02.25
09:50
(7) >imap не отправляет, а по smtp не будет в папке отправленных
зависит от почтового сервера, его настроек
можно и по imap отправлять при помещении в некую папку
и тем более копии писем сохранять в "Отправленные" при отправке по SMTP, как все почтовые сервисы/серверы делают при работе через их веб-интерфейс
13 Garykom
 
гуру
18.02.25
09:53
(8)
.Подключиться
ИнтернетПочта (InternetMail)
Подключиться (Logon)
Синтаксис:
Подключиться(<ПочтовыйПрофиль>, <ПротоколПолученияПочты>)
Параметры:
<ПочтовыйПрофиль> (обязательный)
Тип: ИнтернетПочтовыйПрофиль.
Профиль пользователя для подключения к почтовому серверу.
<ПротоколПолученияПочты> (необязательный)
Тип: ПротоколИнтернетПочты.
Задаёт, какой тип соединения нужно использовать при подключении к Интернет почте.
Если требуется использовать IMAP, то нужно указать соответствующий тип.
Значение по умолчанию: POP3.
Описание:
Осуществляет подключение к почтовому серверу для получения/посылки почты.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Подключение выполняется одновременно к серверам получения (POP3/IMAP) и отправки (SMTP), если соответствующие адреса указаны в профиле.
Если почтовый сервер поддерживает протокол APOP, при неудачной попытке аутентификации по данному протоколу соединение с почтовым сервером закрывается и открывается новое, в котором выполняется попытка аутентификации с помощью логина и пароля.
Пример:
// значения свойств в примере условны

Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = example.com;
Профиль.АдресСервераPOP3 = example.com;
Профиль.ПортSMTP = 25;
Профиль.ПортPOP3 = 110;
Профиль.Пользователь = "user";
Профиль.Пароль = "password";
Почта = Новый ИнтернетПочта;
Почта.Подключиться(Профиль);
См. также:
ИнтернетПочтовыйПрофиль
Использование в версии:
Доступен, начиная с версии 8.0.
14 Hmster
 
18.02.25
11:36
(13)
<ПротоколПолученияПочты> (необязательный)
Тип: ПротоколИнтернетПочты.
Задаёт, какой тип соединения нужно использовать при подключении к Интернет почте.
Если требуется использовать IMAP, то нужно указать соответствующий тип.
Значение по умолчанию: POP3.

Протоколов 3, а указывать можно только IMAP или POP3. Многие почтовые сервера не позволяют отправлять письма если не авторизоваться через IMAP или POP3.
15 Garykom
 
гуру
18.02.25
12:25
Короче когда придумывали IMAP - решили не делать отдельной команды отправки письма
Ибо есть добавление письма в папку и перекладывание между папками

Вероятно предполагалось что достаточно положить (создать) письмо в папку "Исходящие" - далее сервер сам отправит и переместит в "Отправленные"

Или переместить письмо в папку "Отправленные" - типа это команда непосредственной отправки
Если отказ перемещения в "Отправленные" - отправка письма не прошла

Но потом на практике нечто пошло не так и пришлось сохранить исторический протокол SMTP
16 DrZombi
 
гуру
19.02.25
06:05
(0) И того, что имеем.

ИМАП (ПОП"3") - только чтения писем.
СМТП - отправка писем

И того, очень любопытный механизм оставить дубль письма в почтовом ящике. Отличное решение у разработчиков БСП :)
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс