libcurl: email

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

libcurl for Clarion

Сообщение kreator »

Игорь Столяров писал(а):Значит это уже отмирающий рудимент SMTP .... :(
Хотя в Outlook'е есть. И у нас это активно пользуют.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

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

А вот такой вопрос: кто-нибудь пробовал отправлять почту через SMTP MAIL.RU ?
Что-только не пробовал - получаю ошибку: Login denied :(
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

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

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

libcurl for Clarion

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

Дед Пахом писал(а): Попробовал mail.ru - всё работает.
Спасибо - получилось. Зашел на MAIL.RU через WEB - интерфейс и после этого все заработало.
Даже пример с настройками почты пересобирать не пришлось.
Бесплатная почта, она немного ку-ку ... Непредсказуемая. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

libcurl for Clarion

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

Дед Пахом писал(а): 25 Июнь 2017, 13:38 Что касается примеров и прочего, то пользуйтесь ресурсом https://curl.haxx.se/libcurl/, а нюансы перевода С++ -> Clarion можно обсуждать здесь.
выкроилось время заняться почтой плотнее))
по подсказке все ОК, копирую из входящих (imaps), все норм в копиях - дата/время/текст/вложение...,
но...осадочек - при просмотре копий писем с вложениями в папке назначения (использую Thunderbird) в строке с именем файла-вложения вижу строчку "размер неизвестен".
Можно как-то "починить" или куда смотреть? :oops:
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

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

На мой взгляд проблема не в LibCurl, а почтовой программе ....
Если посмотреть MIME структуру созданного через LibCurl сообщения - то в ней все корректно ...
А в традиционном Microsoft Outlook это выглядит вот так:
libcurl_ok.jpg
Предположение: может быть Ваша почтовая программа не видит локализацию Windows
и пытается считать размер файла в американском формате (дробные разряды числа разделяются запятой) ?
За теми кто отстал - не возвращаться. (С) Кодекс
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

libcurl for Clarion

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

Игорь Столяров писал(а): 05 Июль 2017, 11:03 На мой взгляд проблема не в LibCurl, а почтовой программе ....
Если посмотреть MIME структуру созданного через LibCurl сообщения - то в ней все корректно ...
А в традиционном Microsoft Outlook это выглядит вот так:

libcurl_ok.jpg

Предположение: может быть Ваша почтовая программа не видит локализацию Windows
и пытается считать размер файла в американском формате (дробные разряды числа разделяются запятой) ?
да хз, это так - "осадочек" - думал если могучий All сталкивался - подскажут :lol: , а так - разберусь какниб потом, т.к. все остальное как надо работает, буду дальше двигать, надо до отпуска "тех.долг" закрывать...

ps главное - чтоб потом не вылез этот "осадочек" где-ниб в другом месте :wink:
Буфер обмена-1.jpg


Игорь, ещё раз - я не создаю и пересылаю новое сообщение, я обрабатываю при помощи сабжа входящие сообщения, затем копирую их из входящих в другую папку, ну и при просмотре их уже на новом месте увидел сообщение про ??? размер, почитаю повнимательнее https://curl.haxx.se/libcurl/c/libcurl-tutorial.html - может найду решение...
Игорь Столяров писал(а): 05 Июль 2017, 11:03редположение: может быть Ваша почтовая программа не видит локализацию Windows
и пытается считать размер файла в американском формате (дробные разряды числа разделяются запятой) ?
ну при наборе сообщения с точкой дробные числа отображаются вообще-то, да и при копировании в почтовике ручками из папки в папку все нормально отображением размеров вложений...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

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

Ал писал(а): 05 Июль 2017, 12:28ещё раз - я не создаю и пересылаю новое сообщение
Понял. Все непросто.
Тогда мой ответ неверен: я написал про создание и отправку сообщений традиционными методами LibCurl. :(
За теми кто отстал - не возвращаться. (С) Кодекс
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

libcurl for Clarion

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

Игорь Столяров писал(а): 05 Июль 2017, 14:40
Ал писал(а): 05 Июль 2017, 12:28ещё раз - я не создаю и пересылаю новое сообщение
Понял. Все непросто.
Тогда мой ответ неверен: я написал про создание и отправку сообщений традиционными методами LibCurl. :(
да, теперь все верно понято), а с отправкой "методами LibCurl" проблем нет - все сразу получилось,
даже потихоньку перехожу в уже сделанных прогр. при отправке почты на LibCurl - там в "тонких" местах шлю сам себе служебные сообщения - лог логом, но иногда хочется видеть сразу проблемку :roll:, если успею (до отъезда в отпуск), то в этой задачке будет обратная связь - после "разборок" с вложениями отправлять отправителю коротенький автоответ - ок или "проблема в..."
Последний раз редактировалось Ал 09 Июль 2017, 8:18, всего редактировалось 1 раз.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

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

С уважением, ДП
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

libcurl for Clarion

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

Дед Пахом писал(а): 05 Июль 2017, 15:49 Вот это не похоже? https://answers.microsoft.com/ru-ru/mso ... 343cd005c2
Привет, нет не похоже. Там про кодировки - у меня пока тьфу-тьфу с ними все норм. у меня так - заметил что после копирования программным методом , например

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

...
sCopyToFolder = 'COPY ' & id & ' ARC'
curl.SetOpt(CURLOPT_CUSTOMREQUEST, sCopyToFolder)
curl.SendRequest(account_imp&'INBOX', CURLOPT_CUSTOMREQUEST...
все копирует "влет", но если в почтовике встать на список писем в /INBOX - то там, где есть вложения, после имени файла показан размер, а если на их копиях в /ARC - то с именем вложений и с содержанием все ок, но размер не показан - см. на картинке выше...
наш админ предп. что это связано с тем , что при копировании где-то в заголовке надо и размеры вложений как-то указывать, т.е. при таком копировании внутри ящика по imaps не вся инфа "передвигается"...
up - т.е. что то такое покрутить/заполнить при копировании - как при загрузке :?:

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

...
    curl_easy_setopt(curl, CURLOPT_INFILESIZE, infilesize);...
Последний раз редактировалось Ал 05 Июль 2017, 23:34, всего редактировалось 2 раза.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

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

Может дело в почтовом сервере? Если, скажем, копировать письма на яндексе, то же самое происходит?
С уважением, ДП
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

libcurl for Clarion

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

Ал писал(а): 05 Июль 2017, 16:59
Дед Пахом писал(а): 05 Июль 2017, 16:39 Может дело в почтовом сервере? Если, скажем, копировать письма на яндексе, то же самое происходит?
возможно, а я не сообразил :oops:, проверю потом как-ниб - пока это не мешает, просто попутно в глаза бросилось, допишу тут по результатам.
:idied:
вопрос по показу размера снялся, но непонятно как-то - сегодня (комп тот же/весь софт стоит как вчера - ни апдейтов/ни удалений/ни добавлений, на серваке та же программка обрабатывает входящие по расписанию) но в почтовике размеры вложений в сегодняшних сообщениях показываются норм, кручу по списку вниз на вчерашние - "размер неизвестен", хз, админ сказал что "ничего не трогал", понаблюдаю ещё, не люблю "непонятки" :evil:

up - "туман" развеялся, "век живи, век учись" :lol:, мимо проходил админ, был "отловлен", посмотрели вместе - в настройке Thunderbird в свойствах папки с копиями вкладка Синхронизация "поигрался" с галочкой "Выбрать эту папку для автономной работы" и размеры стали подгружаться, вчерашние тоже появились
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

libcurl for Clarion

Сообщение gopstop2007 »

Решил попробовать libcurl для пересылки писем через gmail, использовал пример SendMail
Указал свои значения

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

curl.Server('smtp.gmail.com', 587)
curl.Account('my@gmail.com', 'mypassw')
curl.From('my@gmail.com')
curl.AddRecipient('rec@gmail.com')
В gmail аккаунте
- пробовал использовать imap и pop
- разрешил ненадежным приложениям доступ аккаунту

При отправке выдает ошибку - "Send failed: Login denied"

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

libcurl for Clarion

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

Для хоста лучше указывать тип сервера:

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

    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) 
    ....
Последний раз редактировалось Игорь Столяров 28 Сентябрь 2017, 16:22, всего редактировалось 2 раза.
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить