Имя: Пароль:
1C
1С v8
1С и почта gmail
0 bcosta
 
27.08.15
20:33
Доброго времени суток!
Платформа 8.3.6.2152. Пишу обработку, которая будет принимать и отправлять почту с ящика gmail. Нашел много тем, где обсуждался этот вопрос, но ни один из найденных вариантов так и не заработал.
Есть здесь люди, у кого сейчас 1С принимает почту gmail? Напишите, пожалуйста, какие должны быть настройки.
В подобном виде делаю:

    ПочтовыйПрофиль = Новый ИнтернетПочтовыйПрофиль;
    
    ПочтовыйПрофиль.АдресСервераPOP3 = "pop.gmail.com";
    ПочтовыйПрофиль.ПортPOP3 = 995;
    ПочтовыйПрофиль.АдресСервераSMTP = "smtp.gmail.com";
    ПочтовыйПрофиль.ПортSMTP = 465;
    ПочтовыйПрофиль.Пользователь = "[email protected]";
    ПочтовыйПрофиль.Пароль = "password";

    ПочтовыйПрофиль.ИспользоватьSSLSMTP = истина;
    ПочтовыйПрофиль.ИспользоватьSSLPOP3 = истина;
    
    ПочтовыйПрофиль.ТолькоЗащищеннаяАутентификацияPOP3 = Истина;
    ПочтовыйПрофиль.ТолькоЗащищеннаяАутентификацияSMTP = Истина;
    

    ПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
    ПочтовоеСообщение.Тема = "Тема";
    ПочтовоеСообщение.Отправитель = "[email protected]";
    ПочтовоеСообщение.Получатели.Добавить("[email protected]");
    ПочтовоеСообщение.Текст= "Текст";

    Почта = Новый ИнтернетПочта;

    Попытка
        Почта.Подключиться(ПочтовыйПрофиль);
        Почта.Послать(ПочтовоеСообщение);
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат
    КонецПопытки;

Как бы не пытался, постоянно лезут различные ошибки.
1 torgm
 
27.08.15
20:35
Описал бы для начала какие ошибки.
Я у клиентов не парюсь. Админ ставит стуннель и все работает. И не важно 8.2 или 8.3
2 bcosta
 
27.08.15
20:39
(1) Многие пишут, что на 8.3 все работает без стуннель, но как именно, так и не нашел. Хочу сначала попробовать без сторонних программ.
Ошибки разные бывают, сейчас попробую воспроизвести примеры ошибок, напишу сюда.
3 bcosta
 
27.08.15
20:52
(1) В таком виде, как выше написал, такая ошибка:
Ошибка при вызове метода контекста (Подключиться): Can not authenticate to POP3 server: [AUTH] Web login required.
Хотя логин и пароль указаны верные.
4 Гёдза
 
27.08.15
21:03
случайно 2х факторная авторизация не настроена?
5 bcosta
 
27.08.15
21:03
(4) Вот даже не знаю что это такое)
6 itlikbez
 
27.08.15
21:31
(0) Убери всю эту фигню после пароля.
7 bcosta
 
27.08.15
21:40
(6) Убрать все между паролем и сообщением?
Убрал, теперь ошибка:
Ошибка при вызове метода контекста (Подключиться): SMTP greeting failure: 421 SMTP connection broken (reply)
8 trooba
 
27.08.15
21:54
(7) потому что imap уже
9 bcosta
 
27.08.15
22:13
(8) И как тогда быть?
10 Klesk666
 
27.08.15
22:24
ответ в (2)
11 EvgeniuXP
 
27.08.15
22:33
(2) там можно самому разобраться, SSL свойство выставляй, остальное всё также как и на 8.2.
12 bcosta
 
27.08.15
22:40
(11) SSL свойство - про это?
    ПочтовыйПрофиль.ИспользоватьSSLSMTP = истина;
    ПочтовыйПрофиль.ИспользоватьSSLPOP3 = истина;
(10) т.е.?
13 yavasya
 
27.08.15
22:44
(12) не там роешь ! не в 1С дело ! нужно в ящике открыть доступ к внешнему приложениям
14 yavasya
 
27.08.15
22:47
скрин выслать ?
15 bcosta
 
27.08.15
22:58
(14) Вышли, пожалуйста, если не трудно.
16 bcosta
 
27.08.15
22:58
(14) Тут же нельзя картинки выкладывать?
[email protected]
17 EvgeniuXP
 
27.08.15
23:17
(12) с гмайлом не работал из 1С - так что не знаю, у яндекса так было, когда SSL включили - пришлось на 8.3 писать код - там была в этом загвоздка.
18 bcosta
 
27.08.15
23:21
(17) У gmail после SSL и появились проблемы с 1С.
А какой код на 8.3? Чем он отличается от того, что у меня в (0) написано? Может не хватает чего?
19 GreatOne
 
28.08.15
00:31
у меня все норм работает
20 GreatOne
 
28.08.15
00:33
21 GreatOne
 
28.08.15
00:34
Вдогонку


Для отправки писем используются следующие свойства


"АдресСервераSMTP,ПортSMTP,ИспользоватьSSLSMTP,POP3ПередSMTP,ПользовательSMTP,ПарольSMTP,ТолькоЗащищеннаяАутентификацияSMTP"

Для получения через IMAP:


"АдресСервераIMAP,ПортIMAP,ИспользоватьSSLIMAP,ПользовательIMAP,ПарольIMAP,ТолькоЗащищеннаяАутентификацияIMAP";

Для получения через POP3:

"АдресСервераPOP3,ПортPOP3,ИспользоватьSSLPOP3,Пользователь,Пароль,ТолькоЗащищеннаяАутентификаци
22 bcosta
 
28.08.15
11:42
(20) Сделал по аналогии со скриншотом у Алоха из той ветки.

Вот так:

ПочтовыйПрофиль = Новый ИнтернетПочтовыйПрофиль;
    
    ПочтовыйПрофиль.ПортSMTP     = 465;
    ПочтовыйПрофиль.POP3ПередSMTP = Ложь;
    ПочтовыйПрофиль.АдресСервераIMAP = "";
    ПочтовыйПрофиль.АдресСервераPOP3 = "";
    ПочтовыйПрофиль.АдресСервераSMTP = "smtp.gmail.com";
    ПочтовыйПрофиль.АутентификацияPOP3 = СпособPOP3Аутентификации.Обычная;
    ПочтовыйПрофиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
    ПочтовыйПрофиль.ИспользоватьSSLIMAP = Ложь;
    ПочтовыйПрофиль.ИспользоватьSSLPOP3 = Ложь;
    ПочтовыйПрофиль.ИспользоватьSSLSMTP = Истина;
    ПочтовыйПрофиль.Пароль = "";
    ПочтовыйПрофиль.ПарольIMAP = "";
    ПочтовыйПрофиль.ПарольSMTP = "password";
    ПочтовыйПрофиль.Пользователь = "";
    ПочтовыйПрофиль.ПользовательIMAP = "";
    ПочтовыйПрофиль.ПользовательSMTP = "[email protected]";
    ПочтовыйПрофиль.ПортIMAP = 0;
    ПочтовыйПрофиль.ПортPOP3 = 0;
    ПочтовыйПрофиль.Таймаут = 30;
    ПочтовыйПрофиль.ТолькоЗащищеннаяАутентификацияIMAP = Ложь;
    ПочтовыйПрофиль.ТолькоЗащищеннаяАутентификацияPOP3 = Ложь;
    ПочтовыйПрофиль.ТолькоЗащищеннаяАутентификацияSMTP = Ложь;
    
    
    ПочтовоеСообщение=Новый ИнтернетПочтовоеСообщение;
    ПочтовоеСообщение.Тема = "Тема";
    ПочтовоеСообщение.Отправитель = "[email protected]";
    ПочтовоеСообщение.Получатели.Добавить("[email protected]");
    
    Почта = Новый ИнтернетПочта;

    Попытка
        Почта.Подключиться(ПочтовыйПрофиль);
        Почта.Послать(ПочтовоеСообщение);
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат
    КонецПопытки;

Валится с ошибкой:
Ошибка при вызове метода контекста (Подключиться)
Can not authenticate to SMTP server: 534 5.7.14  https://support.google.com/mail/answer/78754

По этой ссылке написано:
Почтовый клиент не принимает имя пользователя и пароль

Хотя пароль и логин верные.
23 yavasya
 
28.08.15
11:50
(22) актуально ? пиши мне на почту , подключусь
24 yavasya
 
28.08.15
11:51
25 bcosta
 
28.08.15
11:53
(23) Еще как актуально. Написал.
26 yavasya
 
28.08.15
11:56
подключение давай . инструкцию долго выкатывать . у Поручика на форуме прочитал
27 Cyberhawk
 
28.08.15
12:00
Пароль может с русскими символами?
28 bcosta
 
28.08.15
12:10
(27) Пароль латиницей
29 yavasya
 
28.08.15
12:13
30 yavasya
 
28.08.15
12:13
Если вы пользуетесь какими-либо приложениями для чтения электронной почты на своем стационарном компьютере или мобильном телефоне (планшете), то после активации двухэтапной аутентификации эти самые приложения не смогут получать доступ к вашему почтовому ящику. Что же делать?
31 bcosta
 
28.08.15
12:15
Вот блин! Сработало!
Один раз пришло на почту, что внешнее небезопасное приложение пытается получить доступ к ящику, доступ запрещен. Прямо из письма нажал разрешить. Но ничего не изменилось. Сейчас, из сообщения (26) нашел ветку, где была ссылка разрешение доступа для приложений. Там было "запретить". Выбрал разрешить и все заработало.
Спасибо yavasya! Всем спасибо!

Теперь буду разбираться, как получать письма))
32 yavasya
 
28.08.15
12:17
кинь ссылку , я что то найти не могу , где разрешить
33 bcosta
 
28.08.15
12:18
(32) Вот ветка форума: не работает БП3 и почта gmail
В 5 сообщении ссылка.
34 yavasya
 
28.08.15
12:22
35 krunm
 
28.08.15
12:23
думаю вам сюда надо было изначально, https://support.google.com/accounts/answer/185833?hl=ru
гугл ввел отдельный пароль для приложений, создается разово. пароль для авторизации не есть пароль для почтовой программы, и никаких разрешений вроде не надо
36 yavasya
 
28.08.15
12:24
вот без этой ссылки хрен докопаешься  до этого переключателя
37 yavasya
 
28.08.15
12:24
(35)  не верно
38 Гёдза
 
28.08.15
12:24
(35) это только если 2х факторная включена
39 krunm
 
28.08.15
12:24
(37) че эт?
40 yavasya
 
28.08.15
12:25
(39)  http://forum.aeroion.ru/topic803.html без этого не взлетит
41 bcosta
 
28.08.15
12:25
(36) Согласен, в настройках почты нигде не нашел переключатель.
42 bcosta
 
28.08.15
13:05
С получением почты вроде бы тоже разобрался.
Всем спасибо за участие в обсуждении)
43 Масянька
 
28.08.15
13:16
Код для 7.7 - всё арбайтэн:

Процедура ПриОткрытии()

    Отправка         = Форма.Параметр.Получить("Отправка");
    УдалитьФайл     = 1;
    ПечФормаСчета     = 1;
    
    SMTPСервер        = "smtp.gmail.com";
    SMTPПорт        = "465";
    Отправитель     = ...;
    
    Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
        
        Докум      = Форма.Параметр.Получить("Контекст");
        
        Адрес       = СокрЛП(Докум.Контрагент.ЭлПочта);

        Форма.SMTPСервер.Заголовок(SMTPСервер);
        Форма.SMTPПорт.Заголовок(SMTPПорт);
        Форма.Отправитель.Заголовок(Отправитель);
        Форма.Адрес.Заголовок(Адрес);
        
        Тема    = ...;
        Текст    = ...;
    КонецЕсли;
    
    Активизировать("кнОтправить");
    
КонецПроцедуры // ПриОткрытии

Функция Отправить(КаталогДляЗаписи)

    Форма.Отправка.Заголовок("Идет отправка сформированного письма по электронной почте.");

    Письмо = СоздатьОбъект("CDO.Message");
    
    Письмо.To    = Адрес;
    Письмо.From    = Отправитель;
    Письмо.Subject     = Тема;
    Письмо.TextBody = Текст;
    Письмо.TextBodyPart.Charset = "iso-8859-5";

    Письмо.AddAttachment(КаталогДляЗаписи);
    Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value                 = 2;
    Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value             = SMTPСервер;
    Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value         = 1;
    Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value             = Отправитель;
    Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value             = ...;
    Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value         = SMTPПорт;
    Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value    = 60;
    Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendmailaddress").Value         = Адрес;
    Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl").Value             = -1;
    Письмо.Configuration.Fields.Update();
    
    Попытка
        Письмо.Send();
        Форма.Отправка.Заголовок("");
        Форма.Параметр.Установить("Отправка",     1);
        Предупреждение("Успешно отправлено на электронный адрес: " + Адрес);
    Исключение
        Форма.Отправка.Заголовок("");
        Форма.Параметр.Установить("Отправка",     0);
        Предупреждение("Не удалось отправить по причине: " + РазделительСтрок + ОписаниеОшибки());
        Возврат 1;
    КонецПопытки;

КонецФункции // Отправить

//******************************************************************************
cdoSendPassword              = "http://schemas.microsoft.com/cdo/configuration/sendpassword";;      
cdoSendEmailAddress          = "http://schemas.microsoft.com/cdo/configuration/sendemailaddress";;  
cdoAutoPromoteBodyParts      = "http://schemas.microsoft.com/cdo/configuration/autopromotebodyparts"; ;
cdoFlushBuffersOnWrite       = "http://schemas.microsoft.com/cdo/configuration/flushbufferson;write"; ;
cdoHTTPCookies               = "http://schemas.microsoft.com/cdo/configuration/httpcookies"; ;
cdoLanguageCode              = "http://schemas.microsoft.com/cdo/configuration/languagecode"; ;
cdoNNTPAccountName           = "http://schemas.microsoft.com/cdo/configuration/nntpaccountname"; ;
cdoNNTPAuthenticate          = "http://schemas.microsoft.com/cdo/configuration/nntpauthenticate"; ;
cdoNNTPConnectionTimeout     = "http://schemas.microsoft.com/cdo/configuration/nntpconnectiontimeout"; ;
cdoNNTPServer                = "http://schemas.microsoft.com/cdo/configuration/nntpserver"; ;
cdoNNTPServerPickupDirectory = "http://schemas.microsoft.com/cdo/configuration/nntpserverpickupdirectory"; ;
cdoNNTPServerPort            = "http://schemas.microsoft.com/cdo/configuration/nntpserverport"; ;
cdoNNTPUseSSL                = "http://schemas.microsoft.com/cdo/configuration/nntpusessl"; ;
cdoPostEmailAddress          = "http://schemas.microsoft.com/cdo/configuration/postemailaddress"; ;
cdoPostPassword              = "http://schemas.microsoft.com/cdo/configuration/postpassword"; ;
cdoPostUserName              = "http://schemas.microsoft.com/cdo/configuration/postusername"; ;
cdoPostUserReplyEmailAddress = "http://schemas.microsoft.com/cdo/configuration/postuserreplyemailaddress"; ;
cdoPostUsingMethod           = "http://schemas.microsoft.com/cdo/configuration/postusing"; ;
cdoSaveSentItems             = "http://schemas.microsoft.com/cdo/configuration/savesentitems"; ;
cdoSendEmailAddress          = "http://schemas.microsoft.com/cdo/configuration/sendemailaddress"; ;
cdoSendPassword              = "http://schemas.microsoft.com/cdo/configuration/sendpassword"; ;
cdoSendUserName              = "http://schemas.microsoft.com/cdo/configuration/sendusername"; ;
cdoSendUserReplyEmailAddress = "http://schemas.microsoft.com/cdo/configuration/senduserreplyemailaddress"; ;
cdoSendUsingMethod           = "http://schemas.microsoft.com/cdo/configuration/sendusing"; ;
cdoSMTPAccountName           = "http://schemas.microsoft.com/cdo/configuration/smtpaccountname"; ;
cdoSMTPAuthenticate          = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"; ;
cdoSMTPConnectionTimeout     = "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"; ;
cdoSMTPServer                = "http://schemas.microsoft.com/cdo/configuration/smtpserver";;
cdoSMTPServerPickupDirectory = "http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory";;
cdoSMTPServerPort            = "http://schemas.microsoft.com/cdo/configuration/smtpserverport";;
cdoSMTPUseSSL                = "http://schemas.microsoft.com/cdo/configuration/smtpusessl";;
cdoURLGetLatestVersion       = "http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion";;
cdoURLProxyBypass            = "http://schemas.microsoft.com/cdo/configuration/urlproxybypass";;
cdoURLProxyServer            = "http://schemas.microsoft.com/cdo/configuration/urlproxyserver";;
cdoUseMessageResponseText    = "http://schemas.microsoft.com/cdo/configuration/usemessageresponsetext";;