Отправка почты с 1С через Office365

1. fugu 23 20.04.23 08:58 Сейчас в теме
Добрый день.

Пытаюсь отравить почту с 1С УТП на почту через сервер Office365 (купленный)
Настройки -
Server name: smtp.office365.com
Port: 587
SSL - выключено
Логин - правильный
Пароль - правильный
Проверка настройки - проходит успешно.

При отправке почты выдается ошибка - Ошибка при вызове метода контекста (Послать): Локальная ошибка сервера (SMTP error code 451 5.7.3 STARTTLS is required to send mail [FR2P281CA0088.DEUP281.PROD.OUTLOOK.COM 2023-04-20T05:56:39.503Z 08DB402FB18DB2EA]
)

Подскажите, что не так? В каком направлении искать проблему?
Вознаграждение за ответ
Показать полностью
Найденные решения
21. fugu 23 08.05.23 12:33 Сейчас в теме +1 $m
Стандартными способами так и не получилось сделать отправку использовал обходные пути.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 20.04.23 09:17 Сейчас в теме
6. krasnodar-it 23.04.23 12:34 Сейчас в теме
(1)
smtp.office365.com

Host: smtp.office365.com
Port: 587
Encryption: TLS
7. wertep 24 24.04.23 14:18 Сейчас в теме
(1)
code 451

А вот тут правильный ответ https://ru.wikipedia.org/wiki/HTTP_451
Проблему искать в санкционной политике.
17. user856012 14 25.04.23 11:14 Сейчас в теме
(7)
Проблему искать в санкционной политике.
На автора она вряд ли распространяется...
20. wertep 24 25.04.23 17:01 Сейчас в теме
(17) Кто его знает этот Микрософт. Может в лицензионной политике. Но смысл по ссылке в вики написан.
26. Kuts 29.05.24 02:15 Сейчас в теме
(1)См.:
https://support.microsoft.com/ru-ru/office/настройка-pop-imap-и-smtp-для-outlook-com-d088b986-291d-42b8-9564-9c414e2aa040
и
https://support.microsoft.com/ru-ru/office/добавление-учетной-записи-outlook-com-в-другое-почтовое-приложение-или-на-домашние-устройства-73f3b178-0009-41ae-aab1-87b80fa94970

А именно два момента:
1. Доступ по протоколу POP отключен по умолчанию. В разделе ниже описано, как включить доступ по протоколу POP в Outlook.com.
2. Если ваш пароль не распознается или вы хотите добавить учетную запись Outlook.com на смарт-устройство, например на домашнюю камеру безопасности, может потребоваться пароль приложения.

Тоже долго мучился, но в итоге победил
27. Kuts 29.05.24 17:35 Сейчас в теме
(26)Прошу прощения, решение выше предназначено только для бесплатной почты на outlook.
Причина проблем в office365 - прекращение поддержки старых протоколов.
С smtp пока еще все работает, а вот для POP/IMAP - отрубили.
Пока ковыряю еще сам, но если кому интересно тоже, вот ссылки:
https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-deprecation-in-exchange-online-september/ba-p/3609437
https://techcommunity.microsoft.com/t5/exchange-team-blog/basic-authentication-and-exchange-online-june-2021-update/ba-p/2454827
https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/opt-in-exchange-online-endpoint-for-legacy-tls-using-pop3-or-imap4
https://learn.microsoft.com/en-us/Exchange/recipients-in-exchange-online/manage-user-mailboxes/managing-email-apps-for-user-mailboxes

Может кому-то поможет найти решение...
3. fugu 23 20.04.23 09:53 Сейчас в теме
(2) Если установить SSL, тогда даже проверку не проходит.
Прочитал по порту 587 SSL - должно быть выключено.
4. user-z99999 70 20.04.23 11:05 Сейчас в теме
5. ab_initio 95 20.04.23 20:26 Сейчас в теме
SSL попробуйте включить и c номером порта поиграть: вместо 587 поюзайте 25, 465, 2525
8. fugu 23 24.04.23 20:19 Сейчас в теме
(5) По всем портам попробовал, как только включаю ssl на отправку не проходит проверку.(((
10. ab_initio 95 25.04.23 04:51 Сейчас в теме
(8) Брандмауэр попробуйте отключить
9. falcon 24.04.23 22:23 Сейчас в теме
у меня вот так работает:
(1)
CDOConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2;

CDOConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = "smtp.office365.com";

CDOConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = 25;

CDOConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 1;

CDOConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = "*********@live.ru";

CDOConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = "***********";

CDOConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl").Value = 1;

CDOConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60;
11. karamazoff 113 25.04.23 06:22 Сейчас в теме
рабочий пример из унф

ПараметрыПисьма = Новый Структура;
ПараметрыПисьма.Вставить("Кому", ПриведенныйПочтовыйАдрес);
ПараметрыПисьма.Вставить("УчетнаяЗапись", УчетнаяЗапись);
ПараметрыПисьма.Вставить("АдресОтвета", ПриведенныйПочтовыйАдрес);
ПараметрыПисьма.Вставить("Тема", "1111111111111");
ПараметрыПисьма.Вставить("Тело", 22222222222);
ПараметрыПисьма.Вставить("ТипТекста", "ПростойТекст");

РезПочта = ЭлектроннаяПочтаУНФ.ОтправитьПочтовоеСообщение(ПараметрыПисьма, УчетнаяЗапись);
12. fugu 23 25.04.23 08:55 Сейчас в теме
(10) Все отключал, что порт не блокируется проверял.
13. fugu 23 25.04.23 08:56 Сейчас в теме
(9) через CDO работает, согласен, но хотелось стандартными методами
14. fugu 23 25.04.23 09:14 Сейчас в теме
(11) Вы пробовали работать с почтой через отправку smtp.office365.com ?
15. karamazoff 113 25.04.23 10:57 Сейчас в теме
(14)нет, а зачем? Мало почтовых сервиров? я вам привел рабочий пример, но там gmail
16. fugu 23 25.04.23 11:07 Сейчас в теме
(15) Скажем так, для google почты работает стандартный механизм УТП, а вот для office365.com не работает.
Пример Ваш наверно хорош, но он ссылается на процедуру, в которой есть одна строчка (точно такая же как в УТП) - Соединение.Послать(Письмо) - и вот в этой строчке ошибку выдает.(
18. karamazoff 113 25.04.23 11:21 Сейчас в теме
ну запилите свою отправку почты, с указанием портов и всего остального, в инете примеров масса
19. EVKash 16 25.04.23 11:37 Сейчас в теме
(16) Как обходной вариант, можно попробовать пустить почту через Stunnel. https://www.stunnel.org/static/stunnel.html
Что-то типа прокси для почты, который принимает соединения без шифрования и переадресует соединение с шифрованием.
21. fugu 23 08.05.23 12:33 Сейчас в теме +1 $m
Стандартными способами так и не получилось сделать отправку использовал обходные пути.
22. CaSH_2004 372 15.05.23 21:42 Сейчас в теме
Тоже воюем с такой проблемой, а заключается она в том что Майкрософт поменяла для SMTP шифрование с SSL/TLS на STARTTLS

https://support.microsoft.com/ru-ru/office/%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D­1%8B-pop-imap-%D0%B8-smtp-8361e398-8af4-4e97-b147-6c6c4ac95353
23. CaSH_2004 372 16.05.23 21:25 Сейчас в теме
(22) Распишу тут варианты решения которые я нашел, не ради вознаграждения (которое автор благополучно сам себе выдал), а для помощи тем кто столкнулся:

Решение 1.
Как я говорил Майкрософт поменяла для SMTP шифрование с SSL/TLS на STARTTLS, а значит нужно просто выставить
ИнтернетПочтовыйПрофиль.ИспользоватьSSLSMTP = Ложь;

Но не все так просто, я проверил это на 1С:Предприятие 8.3 (8.3.22.1704) и отправка работает, а вот на 1С:Предприятие 8.3 (8.3.9.2309) где у меня база оно не работает! Т.е. само приложение по разному обрабатывает подключение! Очень печально и поэтому пришлось искать другое решение т.к. я очень не люблю менять версии приложений т.к. после этого вылазит куча новых проблем и еще кучу всего приходиться менять.

Решение 2.
Решил я попробовать через «stunnel», скачал дистрибутив stunnel-5.69-win64-installer.exe с:
https://www.stunnel.org/downloads.html
установил, удалил в файле c:\Program Files (x86)\stunnel\config\stunnel.conf все настройки и прописал:
[office365-smtp]
client = yes
protocol = smtp
accept = 127.0.0.1:25
connect = smtp.office365.com:587
verifyChain = yes
CAfile = ca-certs.pem
checkHost = smtp.office365.com
OCSPaia = yes
Показать

Поменял на:
ИнтернетПочтовыйПрофиль.АдресСервераSMTP = "127.0.0.1";
ИнтернетПочтовыйПрофиль.ПортSMTP = 25;

И все отправилось из 1С:Предприятие 8.3 (8.3.9.2309)! Больше ничего делать не пришлось.

Как обычно когда смотришь на решения все кажется просто, но чтобы дойти до этих простых решений пришлось две недели урывками перепробовать кучу вариантов и еще кучу советов перепробовать которые надавали.
24. CaSH_2004 372 16.05.23 21:34 Сейчас в теме
(23) Есть пока непонятная проблема с которой до сих пор разбираемся - на ящик куда отправляю и с которого отправляю (для теста я отправляю сам себе, но это неважно - я так понимаю "отправитель" тут главный) прилетает такой письмо через время:

Delivery has failed to these recipients or groups:

пользователь@домен.ru
Your message wasn't delivered because the recipient's email provider rejected it.
25. user1581001 04.12.23 09:17 Сейчас в теме
CaSH_2024, напишите пожалуйста на 1С:Предприятие 8.3 (8.3.9.2309) работает ли для отправки писем решение через «stunnel»? Разобрались с последней "непонятной проблеммой"?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот