Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помилка відправки пошти на GMAIL
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
volodya1122
1C 8.3.11 звичайні форми. Конфігурація "Нетленка"
необходимо зарегистрироваться для просмотра ссылки тут знайшов приклад як відправляти пошту на GMAIL. Але по цьому коду чомусь видає помилку
Цитата
Помилка при виклику методу контексту (Послать): Невідома помилка (SMTP error code 555 555 5.5.2 Syntax error. a24sm4715165ljd.32 - gsmtp)

чи дя цього потрібно обовязково встановлювати Stunnel?
Bernet
volodya1122 @ Сегодня, 15:41 необходимо зарегистрироваться для просмотра ссылки ,
Stunel нужен был до платформы 8.3, когда ещё 1С не поддерживала SSL шифрование, в 8.3 же оно уже реализовано и не нужно использовать сторонние программы.
Использование SSL устанавливается одной строчкой в свойствах почтового профиля:
ИспользоватьSSLSMTP = Истина;
volodya1122
Bernet @ Сегодня, 15:45 необходимо зарегистрироваться для просмотра ссылки ,
Так справа в тому щоя це прописав (як в прикладі було
Профиль.ИспользоватьSSLPOP3  = Истина;
Профиль.ИспользоватьSSLSMTP = Истина;

А помилка всеодно виникає

Ось повний код відправки
    Профиль = Новый ИнтернетПочтовыйПрофиль;
    
    Профиль.АдресСервераPOP3 = "pop.gmail.com";
    Профиль.АдресСервераSMTP = "smtp.gmail.com";
    Профиль.ВремяОжидания = 60;
    Профиль.Пароль           = "мой пароль";
    Профиль.Пользователь     = "моя почта@gmail.com";
    Профиль.ПортPOP3         = 995;
    Профиль.ПортSMTP = 465;
    Профиль.ПарольSMTP  = "мой пароль";
    Профиль.ПользовательSMTP = "моя почта@gmail.com";
    Профиль.ИспользоватьSSLPOP3  = Истина;
    Профиль.ИспользоватьSSLSMTP = Истина;
    Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login;    
    
    ИнтернетПочта = Новый ИнтернетПочта;
    Письмо = Новый ИнтернетПочтовоеСообщение;
    Текст = Письмо.Тексты.Добавить(СформироватьТекстПисьма());
    Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
    Текст.Кодировка="UTF-8";
    Письмо.Тема = "Тема письма";
    Письмо.Получатели.Добавить(Константы.Пошта);
    
    Попытка
        ИнтернетПочта.Подключиться(Профиль);    
    Исключение    
        Сообщить("Ошибка подключения "+ОписаниеОшибки());
    КонецПопытки;
    Попытка
        ИнтернетПочта.Послать(Письмо);    
    Исключение    
        Сообщить("Ошибка отправки "+ОписаниеОшибки());
    КонецПопытки;

    ИнтернетПочта.Отключиться();
Bernet
volodya1122 @ Сегодня, 15:55 необходимо зарегистрироваться для просмотра ссылки ,
Выложу свой код, который работал в одной из баз, собрал из кусочкков моих процедур, проверил - работает:
необходимо зарегистрироваться для просмотра ссылки
Если НЕ ЗначениеЗаполнено(УчетнаяЗапись) Тогда  // УчетнаяЗаписьДляРассылки - справочник где хранятся параметры подключения
        УчетнаяЗапись = Константы.УчетнаяЗаписьДляРассылки.Получить();    
    КонецЕсли;
    
    Профиль = Новый ИнтернетПочтовыйПрофиль;
    
    Профиль.АдресСервераPOP3 = УчетнаяЗапись.POP3Сервер;   // pop.gmail.com
    Профиль.АдресСервераSMTP = УчетнаяЗапись.SMTPСервер;   // smtp.gmail.com
    Если УчетнаяЗапись.ВремяОжиданияСервера > 0 Тогда
        Профиль.ВремяОжидания = УчетнаяЗапись.ВремяОжиданияСервера;  // таймаут в секундах, у меня было 30 (число)
    КонецЕсли;
    Профиль.Пароль           = УчетнаяЗапись.Пароль;    // пароль от вашей почты с которой идет отправка
    Профиль.Пользователь     = УчетнаяЗапись.Логин;     // ваша почта с которой идет отправка
    Профиль.ПортPOP3         = УчетнаяЗапись.ПортPOP3;  // 995    
    Профиль.ПортSMTP         = УчетнаяЗапись.ПортSMTP;  // 465
    
    Профиль.ИспользоватьSSLSMTP = Истина;
    Профиль.ИспользоватьSSLPOP3 = Истина;
    
    Если УчетнаяЗапись.ТребуетсяSMTPАутентификация Тогда   // Истина
        Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
        Профиль.ПарольSMTP         = УчетнаяЗапись.ПарольSMTP;  // пароль от вашей почты с которой идет отправка
        Профиль.ПользовательSMTP   = УчетнаяЗапись.ЛогинSMTP;   // ваша почта с которой идет отправка
    Иначе
        Профиль.АутентификацияSMTP = СпособSMTPАутентификации.БезАутентификации;
        Профиль.ПарольSMTP         = "";
        Профиль.ПользовательSMTP   = "";
    КонецЕсли;
    
    
    ИнтернетПочта = Новый ИнтернетПочта;
    Попытка
        ИнтернетПочта.Подключиться(Профиль);
    Исключение
        ТекстОшибок = ТекстОшибок + Символы.ПС + (Строка(УчетнаяЗапись) + ". " + ОписаниеОшибки());
        Возврат ТекстОшибок;
    КонецПопытки;

    
    ПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
                            
    ПочтовоеСообщение.Кодировка       = "utf-8";
    ПочтовоеСообщение.ИмяОтправителя  = СокрЛП(УчетнаяЗапись.АдресЭлектроннойПочты);
    ПочтовоеСообщение.Отправитель     = СокрЛП(УчетнаяЗапись.АдресЭлектроннойПочты);
    ПочтовоеСообщение.Тема            = "Тест";
    
    Получатель = ПочтовоеСообщение.Получатели.Добавить();
    Получатель.Адрес           = СокрЛП(ПолучательПисьма); // email получателя
    Получатель.ОтображаемоеИмя = СокрЛП(ПолучательПисьма); // email получателя
    Получатель.Кодировка       = "utf-8";

    ТекстСообщения = ПочтовоеСообщение.Тексты.Добавить();
    ТекстСообщения.Кодировка = "utf-8";
    ТекстСообщения.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
    ТекстСообщения.Текст      = "Привет мир!";  
    
    Попытка
        ИнтернетПочта.Послать(ПочтовоеСообщение);
    Исключение
        ТекстОшибок = ТекстОшибок + Символы.ПС + (Строка(УчетнаяЗапись) + ". " + ОписаниеОшибки());
        Возврат ТекстОшибок;    
    КонецПопытки;


В комментариях написал значения полей, которые хранятся у меня в справочнике. Пользуйтесь без лишнего ПО =)
volodya1122
Bernet @ Сегодня, 16:07 необходимо зарегистрироваться для просмотра ссылки ,

Та сама помилка;
Помилка при виклику методу контексту (Послать): Невідома помилка (SMTP error code 555 555 5.5.2 Syntax error. j12sm242252lfj.83 - gsmtp)
Bernet
volodya1122 @ Сегодня, 16:19 необходимо зарегистрироваться для просмотра ссылки ,
у меня письмо пришло =) Проверьте у почты разрешали ли вы в настройках доступ из сторонних приложений, может там валится. Галочка какая-то в настройках была
Petre
volodya1122 @ Today, 15:19 необходимо зарегистрироваться для просмотра ссылки ,
Спробуйте замість
"моя почта@gmail.com"

використовувати формат
"<моя почта@gmail.com>"
Bernet
Petre @ Сегодня, 16:31 необходимо зарегистрироваться для просмотра ссылки ,
та вряд ли - у меня и так прокатило, обычной строкой
volodya1122
Petre @ Сегодня, 16:31 необходимо зарегистрироваться для просмотра ссылки ,
"<моя почта@gmail.com>"
Тепер вже дві помилки:
Ошибка подключения {Документ.Виклик.Форма.Форма1.Форма(492)}: Помилка при виклику методу контексту (Подключиться): Can not authenticate to SMTP server: 535 5.7.8 необходимо зарегистрироваться для просмотра ссылки e17sm4733884ljj.20
Ошибка отправки нова версыя {Документ.Виклик.Форма.Форма1.Форма(519)}: Помилка при виклику методу контексту (Послать): Дана операція не може бути виконана, так як адресу SMTP сервера не вказано.

З настройкою пошти все вірно. так як я її використовую для відправки із 1с7 (правда на іншому компютері )
Bernet
volodya1122 @ Сегодня, 16:37 необходимо зарегистрироваться для просмотра ссылки ,
необходимо зарегистрироваться для просмотра ссылки, возможно просмотрели что-то
volodya1122
Незрозуміло що за глюк
Писав так:
Письмо.Получатели.Добавить(Константы.Пошта);
і так
Письмо.Получатели.Добавить(СокрЛП(Константы.Пошта));
Давало помилку.

А коли явно прописав
Письмо.Получатели.Добавить("ПоштаОтримувача@gmail.com");
то відправилось


Нарешті зрозумів чому......
В 1с8 константи потрібно Получить(). А я по старій памяті писав як в 1с7 просто Константы.Пошта.

Дякую за терпіння. Все працює
Vofka
Цитата(volodya1122 @ 05.04.19, 16:57) необходимо зарегистрироваться для просмотра ссылки
Дякую за терпіння. Все працює

Для спасибо есть специальная кнопочка.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.