Вверх ↑
Этот топик читают: Гость
Ответов: 4621
Рейтинг: 746
#16: 2019-04-22 11:41:16 ЛС | профиль | цитата
Путём написания кода на Делфи. Нужно взять заголовочный файл CURL, в котором описаны все функции библиотеки, например:
https://github.com/dtouzeau/artica-1.5/blob/master/bin/src/artica-get/curl_h.pas
https://svn.freepascal.org/svn/fpc/trunk/packages/libcurl/src/libcurl.pp
и написать свой компонент, который будет использовать эти функции согласно документации (https://curl.haxx.se/libcurl/c/) и примеров к CURL (https://curl.haxx.se/libcurl/c/example.html).
Можно попробовать сделать "гибрид": взять существующий компонент POP3 и реализовать его функционал через CURL.

Редактировалось 6 раз(а), последний 2019-04-22 11:44:34
карма: 26

0
Ответов: 233
Рейтинг: 12
#17: 2019-04-22 18:40:27 ЛС | профиль | цитата
В общем, кому нужно:

Качаете библиотеку Curl - http://forum.hiasm.com/getfile/38652.
Распаковываете свою разрядность.
Устанавливаете сертификат из папки bin
Через команды управляете почтой.

Схема

Add(MainForm,6521569,168,112)
{
Width=630
Height=816
Caption="CMD"
Position=1
}
Add(Memo,5989221,497,203)
{
Left=5
Top=65
Width=603
Height=343
ScrollBars=2
}
Add(WinExec,9263721,378,231)
{
FileName="C:\CURL\bin\curl.exe"
Mode=0
Point(doConsoleExec)
Point(onConsoleResult)
Point(onConsoleError)
link(onConsoleResult,6805843:doCharset,[(426,251)(426,209)])
link(onConsoleError,14375988:doCharset,[(426,258)(426,286)])
}
Add(DoData,6317388,322,245)
{
link(onEventData,9263721:doConsoleExec,[])
link(Data,1972616:Text,[])
}
Add(Button,15345140,266,245)
{
Left=5
Top=35
Width=95
TabOrder=-1
Caption="Запрос"
link(onClick,6317388:doData,[])
}
Add(StyleXP,10364154,168,161)
{
}
Add(Edit,1972616,322,189)
{
Left=5
Top=5
Width=600
Text=""
}
Add(Memo,410144,497,259)
{
Left=5
Top=415
Width=600
Height=355
ScrollBars=2
}
Add(Charset,14375988,441,280)
{
link(onCharset,410144:doText,[])
}
Add(Charset,6805843,441,203)
{
Type=7
link(onCharset,5989221:doAdd,[])
}

Команды (Те что смог найти и понять)

imaps://[Логин]:[Пароль]@imap.yandex.ru/INBOX?NEW - Количество новых писем
imaps://[Логин]:[Пароль]@imap.yandex.ru -X "EXAMINE INBOX" - Свойства папки
imaps://[Логин]:[Пароль]@imap.yandex.ru/INBOX -X "fetch [UID]:* (UID FLAGS)" - Получение UID сообщений
imaps://[Логин]:[Пароль]@imap.yandex.ru/INBOX;UID=[UID] - Чтение всего сообщения
imaps://[Логин]:[Пароль]@imap.yandex.ru/INBOX -X "UID FETCH [UID] (ENVELOPE)" - Получение заголовка письма
imaps://[Логин]:[Пароль]@imap.yandex.ru/INBOX;UID=[UID]/;SECTION=TEXT - Получение тела письма

imaps://[Логин]:[Пароль]@imap.yandex.ru/INBOX -X "UID STORE [UID] -Flags \Seen" - Пометить как прочитанное
imaps://[Логин]:[Пароль]@imap.yandex.ru/INBOX -X "UID STORE [UID] +Flags \Seen" - Пометить как не прочитанное

imaps://[Логин]:[Пароль]@imap.yandex.ru/INBOX -X "UID STORE [UID] +Flags \Flagged" - Пометить как важное
imaps://[Логин]:[Пароль]@imap.yandex.ru/INBOX -X "UID STORE [UID] -Flags \Flagged" - Снять метку важное

imaps://[Логин]:[Пароль]@imap.yandex.ru/INBOX -X "UID COPY [UID] Trash" - Копировать в корзину
imaps://[Логин]:[Пароль]@imap.yandex.ru/INBOX -X "UID STORE [UID] +Flags \Deleted" - Пометить на удаление
imaps://[Логин]:[Пароль]@imap.yandex.ru/INBOX -X "EXPUNGE" - Подтвердить удаление

Редактировалось 1 раз(а), последний 2019-04-22 18:41:57
карма: 2

2
Голосовали:strannik_nebes, Konst
Главный модератор
Ответов: 2997
Рейтинг: 395
#18: 2019-04-22 18:56:08 ЛС | профиль | цитата
В тему: C# IMAP клиент
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
1
Голосовали:Konst
Ответов: 194
Рейтинг: 2
#19: 2021-04-05 01:25:21 ЛС | профиль | цитата
Iliya, Curl пишет URL using bad/illegal format or missing URL Может не тот CURL скачал?

Редактировалось 2 раз(а), последний 2021-04-05 01:49:22
карма: 0

0
19
Сообщение
...
Прикрепленные файлы
(файлы не залиты)