Имя: Пароль:
1C
1C 7.7
v7: Как получить почту компонентой DialMail с mail.ru ?
0 iJuni
 
01.02.18
10:33
//***
//ПолучениеПочты = СоздатьОбъект("AddIn.POP3");
//***



    Если ПолучениеПочты.Подключиться(СокрЛП(Pop3Сервер),
                        СокрЛП(Pop3Порт),
                        СокрЛП(Pop3Пользователь),
                        СокрЛП(Pop3Пароль),1,1)=0 тогда
        Предупреждение("Не смогли подключиться к POP3-серверу");
        Возврат 0;
    КонецЕсли;


всегда выдает ошибку "Не смогли подключиться к POP3-серверу".

Подскажите пож как она работает ?
1 Builder
 
01.02.18
10:43
(0)
1. Не тот сервер, порт, пароль....
2. Не включено шифрование SSL
проверь адреса
https://help.mail.ru/mail-help/mailer/popsmtp
2 iJuni
 
01.02.18
11:08
вроде все сделано правильно
http://www.imageup.ru/img77/2979334/dialmail.jpg.html
3 botman4
 
01.02.18
11:57
с этим не получается, а есть другой вариант получения почты со вложениями ?

киньте пример пожалуйста.
4 iJuni
 
01.02.18
12:10
Есть кто пользуется этой компонентой сейчас? может у меня версия старая ?
v 2,7,6,16
5 Смотрящий
 
01.02.18
12:17
(2) Найди в коде обработки метод коннекта к серверу (не помню какой там)

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

вывод предупреждения закомменть


надо получить строку ответа сервера почтового и смотреть на что он жалуется
6 iJuni
 
01.02.18
12:20
нету такого. Подключение идет в моем первом сообщение.
7 vova1122
 
01.02.18
12:30
я использую DialMail component 2.7.6 pb 15 (с) SWA corp. (2002-2007)
8 vova1122
 
01.02.18
12:31
Правда почта на Gmail.Com. Если нужно кину рабочий вариант кода
9 Смотрящий
 
01.02.18
12:35
Попытка
ПолучениеПочты.Подключиться(СокрЛП(Pop3Сервер),
                        СокрЛП(Pop3Порт),
                        СокрЛП(Pop3Пользователь),
                        СокрЛП(Pop3Пароль),1,1);
Исключение
Сообщить(ОписаниеОшибки());
Возврат 0;
КонецПопытки;

Так попробуй
10 iJuni
 
01.02.18
13:30
Вот моя dll и пример . может кто попробуем, работает ли у него.

https://yadi.sk/d/KyuQiKdP3RynB4


скиньте пож свою dll спасибо.
11 iJuni
 
01.02.18
13:31
(9) исключение не выбрасывается.
12 iJuni
 
01.02.18
13:36
не могу найти в сети где скачать DialMail
скиньте последнюю версию.
13 vova1122
 
01.02.18
13:39
дело не в ДЛЛ. Я же написал у меня версия ниже и работает. Правда с Gmail.com
14 vova1122
 
01.02.18
13:43
Процедура Выполнить()
    Если ЗагрузитьВнешнююКомпоненту("DialMail.dll")=0 Тогда
        Сообщить("Не удалось обнаружить компоненту DialMail.dll!");  
        Возврат;
    КонецЕсли;
    Попытка
        ПолучениеПочты = СоздатьОбъект("AddIn.POP3");
        SystComm = СоздатьОбъект("AddIn.SystComm");
        ПолучениеПочты.ВестиЛогФайл = 1;
        Сообщить(SystComm.Версия);
    Исключение
        Сообщить("Не удалось создать объекты из компоненты DialMail.dll!");
        Возврат;
    КонецПопытки;

    ПолучениеПочты.РабочийКаталог=РабочийКаталог;
    ПолучениеПочты.ИспользоватьПрокси=0;
    ПолучениеПочты.ИспользоватьSSL=ИспользоватьSSL;  
    Если ПолучениеПочты.Подключиться(Pop3Сервер,
                        Pop3Порт,
                        Pop3Пользователь,
                        Pop3Пароль)=0 тогда    
        Предупреждение("Не смогли подключиться к POP3-серверу");
        РезПодключения=0;
        Возврат;
    КонецЕсли;  
    УдачнПодкл=1;
    ВсегоПисемНаСервере=ПолучениеПочты.КоличествоПисем;
    ОбщаяДлинаПолучение=Число(ПолучениеПочты.ОбщийРазмерПисем);  
    Если ВсегоПисемНаСервере>0 тогда
         Сообщить("ВсегоПисем="+ВсегоПисемНаСервере);
         Сообщить("ОбщаяДлина="+ОбщаяДлинаПолучение);
         РезПодключения=1;
    иначе
        СообщениеПолучение="Нет Писем";
        Предупреждение(СообщениеПолучение);  
        РезПодключения=-1;
        Возврат;
    КонецЕсли;  
      СтрокаНомеровПисем="";
//    Если  РезПодключения=1 тогда
//     СтрокаНомеровПисем=Отфильтровать();  
//     Сообщить("Номера писем = "+СтрокаНомеровПисем);
//    КонецЕсли;    
    
    Если ПолучениеПочты.ПолучитьВсеПисьма(1,0,1,СтрокаНомеровПисем)=-100 тогда
    //    Возврат 1;
    КонецЕсли;      
    
//а1=_GetPerformanceCounter();
ГлПауза(ВсегоПисемНаСервере/2+2);  //в секундах сек    
//а2=_GetPerformanceCounter();
//а=а2-а1;
//сек=а/1000;
//Сообщить("пауза= "+сек);
РезРозпановки=РаспаковатьВсеПисьма();
КонецПроцедуры
15 vova1122
 
01.02.18
13:47
и это дописать в конце модуля
Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
    //Сообщить(""+Источник+" "+Событие+" "+Данные);
    Если Источник="POP3" тогда
        Если ВРЕГ(СокрЛП(Событие))="RECEIVE" тогда
            Если ВРЕГ(СокрЛП(Данные))="BEGIN" тогда
                
            ИначеЕсли ВРЕГ(СокрЛП(Данные))="DONE" тогда
                СообщениеПолучение="Все получили";
        //        Форма.Обновить(0);
                Возврат;
            КонецЕсли;
            
//            х=ПолучениеПочты.ПолученоВБайтах/ОбщаяДлинаПолучение*СтрДлина(Индик);
        //    ИндикПолучение=Лев(Индик,СтрДлина(Индик)-х);
    //        Форма.Обновить(0);
        ИначеЕсли ВРЕГ(СокрЛП(Событие))="RECEIVED" тогда
    //        х=ПолучениеПочты.ПолученоВБайтах/ОбщаяДлинаПолучение*СтрДлина(Индик);
    //        ИндикПолучение=Лев(Индик,СтрДлина(Индик)-х);
    //        Форма.Обновить(0);
    //        Получили=Получили+1;
        ИначеЕсли ВРЕГ(СокрЛП(Событие))="ERROR" тогда
            Сообщить(Данные+"  "+СокрЛП(ПолучениеПочты.ПоследняяОшибка)+" ("+ПолучениеПочты.ПоследняяОшибкаСтр+")");
            Сообщить("Последний ответ сервера: " + ПолучениеПочты.ПоследнийОтветСервера);
            ОшибкаПолучения=1;
            Возврат;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
16 iJuni
 
01.02.18
14:09
Создал на Gmail
в настройках включил POP

все равно не подключается 8(((
скинь свою dll плз )
17 vova1122
 
01.02.18
14:59
это прописал?
18 vova1122
 
01.02.18
14:59
ИспользоватьSSL=1;
Pop3Сервер="pop.gmail.com";
Pop3Порт=995;
19 vova1122
 
01.02.18
15:06
20 vova1122
 
01.02.18
15:09
Да, кстати определись со своим полом. В профиле пол женский, тут пишешь как от мужского пола
21 big
 
02.02.18
14:03
На какой системе запускаете?

Нам на Win2003 пришлось OpenSSL в System32 ставить, а иначе SSL не работает.
22 Max_Prog
 
02.02.18
16:55
(0) stunel и 1С. По гугли 100% поможет.
23 Max_Prog
 
02.02.18
16:58
(21) Вот это - (22) Пофиг на Ось и конфу менять не надо.
24 Мимохожий Однако
 
02.02.18
17:05
(20) А потом будешь фотку требовать? ))
25 Max_Prog
 
02.02.18
17:10
(22) В stunnel.conf Прописать:

client = yes
output = stunnel-log.txt
debug = 0
[SMTP Gmail ]
accept = 127.0.0.1:25
connect = smtp.mail.ru:465

[POP3 Gmail ]
accept = 127.0.0.1:110
connect = pop.mail.ru:995

В конфигурации:
POP3Порт=110;
SMTPПорт = 25;
26 Max_Prog
 
02.02.18
19:16
27 Max_Prog
 
02.02.18
19:21
28 iJuni
 
04.02.18
12:01
с отправкой почты проблем нету, есть только с получением.
29 FN
 
04.02.18
13:17
Dialmail нормально работает с ssl почтой. Но для этого надо установить openssl. Об этом написано в справке к компоненте.
30 big
 
05.02.18
10:36
(23) Зачем ставить сторонний софт, когда всё работает "из коробки"?? И конфа здесь никоим образом не меняется.
31 vova1122
 
05.02.18
10:53
(0) Откопал свою старую тему по этому вопросу. Действительно нужно ставить openssl
v7: Не могу получить почту (через DialMail.dll)
32 Max_Prog
 
08.02.18
15:06
(29) Так подскажите
Я написал как бы я решил проблему.
(31) Найти три dll-ки нужно кинуть в SysWOW64, System32. Быстрее?
33 vova1122
 
08.02.18
16:11
(32) Быстрее или нет нескажу. Стунелем не пользовался. Почта принимается и отправляется. больше ничего ненадо
34 iJuni
 
08.02.18
21:38
Закинул OpenSSL и в system32 и в SysWOW64 и на Win 10 64 и mail.ru завелось!

Но! Сперва ругалось на авторизацию(в логе компоненты) погуглив - удалил номер телефона из почтового ящика и все заработало.

Всем спасибо.
35 iJuni
 
08.02.18
21:43
Теперь новый вопрос, а как получить "Непрочитанные письма?" и пометить как "Прочитанные"?
36 vova1122
 
09.02.18
10:57
(35) так они же автоматически должны помечается как прочитанные при получении почты. Или у тебя одно и то же письмо принимается при каждом получении почты? Тогда нужно смотреть настройки на самом почтовом сервере.
37 iJuni
 
15.02.18
14:08
Письма отмечаются, как прочитанные, но каждый раз получаются! ящик на mail.ru
вот думаю что делать или хранить у себя в базе полученные письма или как ....???
38 vova1122
 
15.02.18
15:00
(37) такого не должно быть. Проверить как будет работать с Gmail.
39 iJuni
 
16.02.18
11:26
В принципе меня это полностью устроило.
Делаю загрузку прайсов с почты.
Прайсы загружаются в sqlite базу
Там же создал таблицу в этой базе с письмами которые получил, есть обработка которой можно их оттуда удали, после чего они опять закачиваются.