Имя: Пароль:
1C
1С v8
Ут10. 3, отправка почты
0 MaQo
 
09.08.22
16:40
Отправка почтой документов в виде печатных макетов, тест проходит успешно, вставлен пароль приложений. На практике же ошибка "ошибка при вызове метода контекста "Послать" Почтовый ящик не доступен." 5.7.0 ошибка SMTP
В чем может быть причина?
1 nodrama
 
09.08.22
16:45
(0) Полный код отправки письма в студию

сам отправляю с УПП.. пробел нет (яндекс почта) и отлук
2 MaQo
 
09.08.22
16:47
Не работает с определённой почтой Яндекса, т.е с учеткой. Настройки в самой почте Яндекса идентичные
3 nodrama
 
09.08.22
16:49
не верю....



Иногда сервер отправляет письма всем, кто указан в получателях, но при условии, что адрес отправителя принадлежит доменной зоне сервера (такой сервер еще называют сервером исходящей почты). В этом случае получается, что через сервер нельзя послать письмо постороннему человеку. Пустой адрес отправителя по стандарту является правильным и сервер не должен отвергать такое письмо. Однако не многие сервера прислушиваются к этому правилу и, в целях борьбы со "спамерами", возвращают ошибку с кодом 550 такого вида:
    Почтовый ящик не доступен (SMTP error code 550, not local sender over smtp)
Для устранения этой ошибки, нужно присвоить адрес отправителю, принадлежащему тому же домену, что и почтовый сервер, например:

Копировать в буфер обмена
    Сообщение = Новый ИнтернетПочтовоеСообщение;
    Сообщение.Отправитель = "[email protected]";
Бывают серверы, которые отправляют письмо с любым значением свойства отправитель, но возвращают ошибку, если получатель не принадлежит домену сервера (такой сервер еще называют сервером входящей почты).
    Почтовый ящик не доступен (SMTP error code 550, 5.7.1 Policy rejection on the target address: [email protected])
Чаще всего данная проблема снимается авторизацией на сервере (если она  поддерживается сервером). Для этого нужно заполнить следующие свойства объекта ИнтернетПочтовыйПрофиль:

Копировать в буфер обмена
    Профиль = Новый ИнтернетПочтовыйПрофиль;
    Профиль.ПользовательSMTP = <логин>;
    Профиль.ПарольSMTP = <пароль>;
4 nodrama
 
09.08.22
16:50
ДА и код ошибки вроде не весь там больше текста ;)
5 nodrama
 
09.08.22
16:55
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = "smtp.yandex.ru";
Профиль.ПользовательSMTP = Результат.Почта;
Профиль.ПарольSMTP = Пароль;  //Пароль приложения
Профиль.ИспользоватьSSLSMTP = Истина;
Профиль.ПортSMTP = 465;
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
            
Письмо = Новый ИнтернетПочтовоеСообщение;
Текст = Письмо.Тексты.Добавить(Объект.ТекстПисьма);
Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
ТемаПисьма=ляляля;
Письмо.Тема = ТемаПисьма;
Письмо.Отправитель = Почта;
Письмо.ИмяОтправителя = ПараметрыСеанса.ТекущийПользователь.Наименование;
            
Письмо.Получатели.Добавить(стр.Значение.Почта);    
            
Почта = Новый ИнтернетПочта;
Попытка
Почта.Подключиться(Профиль);
Почта.Послать(Письмо);

Все работает макет не макет текст не текст вложения не вложения не важно.
6 nodrama
 
09.08.22
16:56
Исключение
                Сообщить("Не удалось отправить письмо");
                Сообщить(ОписаниеОшибки());
            КонецПопытки;
7 BaZZiL
 
09.08.22
21:31
(2) Завести на Яндексе учетную запись "для приложения".

(5) Все уже набыдлокодили до нас:

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

        СтруктураНовогоПисьма.Вставить("Тело"     , ТекстПисьма);
        СтруктураНовогоПисьма.Вставить("ВидТекста", Перечисления.ВидыТекстовЭлектронныхПисем.Текст);
        СтруктураНовогоПисьма.Вставить("Тема"     , "Напоминание о просроченной задолженности");
        НовоеПисьмо = УправлениеЭлектроннойПочтой.НаписатьПисьмо(ПараметрыСеанса.ТекущийПользователь, СтруктураНовогоПисьма,,,,,,,ложь);
        НовоеПисьмо.Письмо.СтатусПисьма = Перечисления.СтатусыПисем.Исходящее;
        НовоеПисьмо.Письмо.Записать();
8 MaQo
 
10.08.22
11:31
Крч в спрачнике учетных записей в адресе почты в конце был пробел...
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.