libcurl: email

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

libcurl for Clarion

Сообщение gopstop2007 »

Игорь Столяров писал(а): 28 Сентябрь 2017, 15:49Для хоста лучше указывать тип сервера:

Код: Выделить всё

    curl.Server('smtp://SMTP_SERVER', PORT)  ! или 'smtps://' для SSL
Помню, что когда делал - всё работало без дополнительных настроек,
но наверно всё таки лучше использовать SSL и 465 порт:

Код: Выделить всё

    MyCurl.Server('smtps://smtp.gmail.com', 465)
    MyCurl.UseSSL(CURLUSESSL_ALL)
    MyCurl.SetSSLVerifyPeer(False)           
    MyCurl.SetOpt(CURLOPT_CONNECTTIMEOUT,30) 
    ....
при изменении на выше указанное тоже не работает, при смене порта на 465 сообщение
Вложения
2017-09-28_181316.jpg
2017-09-28_181316.jpg (3.92 КБ) 5429 просмотров
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

Сообщение Игорь Столяров »

gopstop2007 писал(а): 28 Сентябрь 2017, 18:16при изменении в выше указанном не работает, при смене порта на 465 сообщение
Странно однако ... К сожалению у меня нет сейчас ящика на гугле и желания там его заводить ...
Если у Вас есть отладочный e-mail на гугле - сбросьте мне в личку данные, я проверю и тогда уже будет информация по существу ...
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

Сообщение Дед Пахом »

Не знаю, у меня пример SendMail работает с gmail как есть.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

Сообщение Игорь Столяров »

На компьютере разработчика всегда и всё работает ... ;)
Может быть масса проблем, начиная с блокировкой портов на компьютере и заканчивая непонятными наборами компонент.
Нужно смотреть по факту ...
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

Сообщение Дед Пахом »

Я бы ещё раз проверил разрешение небезопасных приложений в аккаунте, у меня было, что вроде включаешь, а оно не включилось.
С уважением, ДП
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

libcurl for Clarion

Сообщение gopstop2007 »

Дед Пахом писал(а): 28 Сентябрь 2017, 19:00 Я бы ещё раз проверил разрешение небезопасных приложений в аккаунте, у меня было, что вроде включаешь, а оно не включилось.
создал новый аккаунт на gmail, установил(разрешил) разрешение небезопасных приложений, все равно ошибка, использовал порт 465, вернул по умолчанию

Код: Выделить всё

curl.Server('smtp.gmail.com',587)
заработало, спасибо всем :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

Сообщение Игорь Столяров »

gopstop2007 писал(а): 28 Сентябрь 2017, 21:34заработал, спасибо всем
Отлично ! Значит дело было не в бобине ... ;)
587 порт на гугле - это TSL протокол, возможно как-то надо особо конфигурировать сессию LibCurl ...
За теми кто отстал - не возвращаться. (С) Кодекс
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

libcurl for Clarion

Сообщение gopstop2007 »

Игорь Столяров писал(а): 28 Сентябрь 2017, 21:39 Отлично ! Значит дело было не в бобине ... ;)
587 порт на гугле - это TSL протокол, возможно как-то надо особо конфигурировать сессию LibCurl ...
кстати pop и imap на gmail отключены (не установлены-по умолчанию)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

libcurl for Clarion

Сообщение gopstop2007 »

еще вопросы
- с помощью libcurl возможно оставлять копии отправленных сообщении на smtp сервере
- в curl.AddRecipient(to,cc,bcc), в сс, bсс список отправляемых email адресов пишутся через пробел?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

Сообщение Игорь Столяров »

1. Вообще нет никакой связи между отправкой сообщений через SMTP сервер и папками почты на сервере провайдера почты ...

2. А зачем ? Просто последовательно формируем список получателей:

Код: Выделить всё

     MyCurl.AddRecipient(Clip(PostTo))
     MyCurl.AddRecipient(Clip(CopyTo1))
     MyCurl.AddRecipient(Clip(CopyTo2))
     MyCurl.AddRecipient(Clip(CopyTo3))
     MyCurl.AddRecipient(Clip(CopyTo4))
     ....
За теми кто отстал - не возвращаться. (С) Кодекс
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

libcurl for Clarion

Сообщение Ал »

gopstop2007 писал(а): 28 Сентябрь 2017, 22:16 - с помощью libcurl возможно оставлять копии отправленных сообщении на smtp сервере
:?:
- если исх."свои", можно завести доп.адресок и AddRecipient(Clip(CopyTo...))
- если вх."чужие", можно поиграть imap c 'COPY'
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

libcurl for Clarion

Сообщение gopstop2007 »

Игорь Столяров писал(а): 28 Сентябрь 2017, 22:23 1. Вообще нет никакой связи между отправкой сообщений через SMTP сервер и папками почты на сервере провайдера почты ...

2. А зачем ? Просто последовательно формируем список получателей:

Код: Выделить всё

     MyCurl.AddRecipient(Clip(PostTo))
     MyCurl.AddRecipient(Clip(CopyTo1))
     MyCurl.AddRecipient(Clip(CopyTo2))
     MyCurl.AddRecipient(Clip(CopyTo3))
     MyCurl.AddRecipient(Clip(CopyTo4))
     ....
Интересно и как мне список получателей(email) выбираемый клиентом впихнуть в loop ? или каждый раз коннектиться к smtp?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7322
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

Сообщение Игорь Столяров »

gopstop2007 писал(а): 29 Сентябрь 2017, 11:09клиентом впихнуть в loop ? или каждый раз коннектиться к smtp?
К SMTP Вы и так не коннектитесь, это делает каждый раз при вызове метод SEND() ...
А вот если в одной сессии Libcurl нужно сформировать и отправить несколько сообщений, то есть метод CleanUp().
Сбрасываем данные текущего сообщения, записываем новые, отправляем и т.д.

Насчёт loop и "впихнуть" не могу сказать, я же не знаю как у Вас формируется список получателей и зачем ...
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

Сообщение Дед Пахом »

gopstop2007 писал(а): 28 Сентябрь 2017, 22:16в curl.AddRecipient(to,cc,bcc), в сс, bсс список отправляемых email адресов пишутся через пробел?
Нет.
С уважением, ДП
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

libcurl for Clarion

Сообщение gopstop2007 »

Игорь Столяров писал(а): 29 Сентябрь 2017, 11:29
gopstop2007 писал(а): 29 Сентябрь 2017, 11:09клиентом впихнуть в loop ? или каждый раз коннектиться к smtp?
К SMTP Вы и так не коннектитесь, это делает каждый раз при вызове метод SEND() ...
А вот если в одной сессии Libcurl нужно сформировать и отправить несколько сообщений, то есть метод CleanUp().
Сбрасываем данные текущего сообщения, записываем новые, отправляем и т.д.

Насчёт loop и "впихнуть" не могу сказать, я же не знаю как у Вас формируется список получателей и зачем ...
Спасибо понял, так даже проще :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить