Страница 3 из 7

libcurl for Clarion

Добавлено: 28 Сентябрь 2017, 18:16
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 сообщение

libcurl for Clarion

Добавлено: 28 Сентябрь 2017, 18:19
Игорь Столяров
gopstop2007 писал(а): 28 Сентябрь 2017, 18:16при изменении в выше указанном не работает, при смене порта на 465 сообщение
Странно однако ... К сожалению у меня нет сейчас ящика на гугле и желания там его заводить ...
Если у Вас есть отладочный e-mail на гугле - сбросьте мне в личку данные, я проверю и тогда уже будет информация по существу ...

libcurl for Clarion

Добавлено: 28 Сентябрь 2017, 18:52
Дед Пахом
Не знаю, у меня пример SendMail работает с gmail как есть.

libcurl for Clarion

Добавлено: 28 Сентябрь 2017, 18:58
Игорь Столяров
На компьютере разработчика всегда и всё работает ... ;)
Может быть масса проблем, начиная с блокировкой портов на компьютере и заканчивая непонятными наборами компонент.
Нужно смотреть по факту ...

libcurl for Clarion

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

libcurl for Clarion

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

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

curl.Server('smtp.gmail.com',587)
заработало, спасибо всем :)

libcurl for Clarion

Добавлено: 28 Сентябрь 2017, 21:39
Игорь Столяров
gopstop2007 писал(а): 28 Сентябрь 2017, 21:34заработал, спасибо всем
Отлично ! Значит дело было не в бобине ... ;)
587 порт на гугле - это TSL протокол, возможно как-то надо особо конфигурировать сессию LibCurl ...

libcurl for Clarion

Добавлено: 28 Сентябрь 2017, 21:43
gopstop2007
Игорь Столяров писал(а): 28 Сентябрь 2017, 21:39 Отлично ! Значит дело было не в бобине ... ;)
587 порт на гугле - это TSL протокол, возможно как-то надо особо конфигурировать сессию LibCurl ...
кстати pop и imap на gmail отключены (не установлены-по умолчанию)

libcurl for Clarion

Добавлено: 28 Сентябрь 2017, 22:16
gopstop2007
еще вопросы
- с помощью libcurl возможно оставлять копии отправленных сообщении на smtp сервере
- в curl.AddRecipient(to,cc,bcc), в сс, bсс список отправляемых email адресов пишутся через пробел?

libcurl for Clarion

Добавлено: 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))
     ....

libcurl for Clarion

Добавлено: 29 Сентябрь 2017, 9:15
Ал
gopstop2007 писал(а): 28 Сентябрь 2017, 22:16 - с помощью libcurl возможно оставлять копии отправленных сообщении на smtp сервере
:?:
- если исх."свои", можно завести доп.адресок и AddRecipient(Clip(CopyTo...))
- если вх."чужие", можно поиграть imap c 'COPY'

libcurl for Clarion

Добавлено: 29 Сентябрь 2017, 11:09
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?

libcurl for Clarion

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

Насчёт loop и "впихнуть" не могу сказать, я же не знаю как у Вас формируется список получателей и зачем ...

libcurl for Clarion

Добавлено: 29 Сентябрь 2017, 11:34
Дед Пахом
gopstop2007 писал(а): 28 Сентябрь 2017, 22:16в curl.AddRecipient(to,cc,bcc), в сс, bсс список отправляемых email адресов пишутся через пробел?
Нет.

libcurl for Clarion

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

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