Zauważyłem, że libcurl obsługuje protokół IMAP, ale nie znalazł niczego w dokumentacji, a przykład http://curl.haxx.se/libcurl/c/imap.html jest bardzo słaby. Czy ktoś wie, jak korzystać z tego protokołu w tej bibliotece, jak pobierać wiadomości? Pozdrowienialibcurl i imap
Odpowiedz
Następujące polecenie wybiera skrzynki odbiorczej Gmail oraz kwestie FETCH 1 BODY[TEXT]
zdobyć pierwszy (najstarszy) Wiadomość:
curl -v 'imaps://creaktive+gmail.com:[email protected]:993/Inbox'
nie jestem pewien, czy tam jest łatwym sposobem na wykonywanie innych zadań, jak lista skrzynek pocztowych lub wybór najnowszej wiadomości.
Jest dobry e-mail na listę mailingową opisującego składnię IMAP tutaj: http://curl.haxx.se/mail/lib-2013-03/0104.html
Jest to istotne części:
--url IMAP: //mail.example.com/INBOX/ ; UID = 1 - Wybór skrzynki użytkownika i pobiera wiadomość 1
--url IMAP: //mail.example.com/INBOX; UIDVALIDITY = 50 /; UID = 2 - Wybór Odebrane użytkownika, sprawdza UIDVALIDITY skrzynki pocztowej to 50 i pobiera wiadomość 2, jeśli jest
--url IMAP: //mail.example.com/INBOX/; UID = 3 /; SEKCJA = tekst - wybór Odebrane użytkownika i pobiera wiadomość 3 tylko części tekstu wiadomości
Oprócz pobrania wiadomości e-mail możliwe jest również przesłanie na serwer wiadomości e-mail z numerem . Jest to możliwe dzięki poleceniu IMAPS Append i prostu wykorzystując istniejący mechanizm Curl za przesyłanie danych na serwerze:
--url IMAP: //mail.example.com/OUTBOX -T email.txt
- Inne polecenia mogą być wydawane, na przykład: LISTA, aby wyświetlić listę podfolderów skrzynki pocztowej ; EXAMINE, aby zobaczyć, jakie e-maile istnieją w skrzynce pocztowej; CREATE, RENAME i DELETE do manipulowania podfolderami, STORE, aby zmienić właściwości wiadomości e-mail i innych. Niektóre przykłady są następujące:
--url IMAP: //mail.example.com - Wykonuje listę katalogu najwyższego poziomu
--url IMAP: //mail.example.com/INBOX - wykonuje listę folderów na skrzynki odbiorczej użytkownika
--url IMAP: //mail.example.com -X "Skontroluj INBOX" - wykonuje listę wiadomości na skrzynce użytkownika
--url IMAP: // mail.example.com/INBOX -X "CREATE Sub-folder" - Tworzy podfolder w obrębie Skrzynka autora
--url IMAP: // mail.example.com/INBOX -X "Zmień nazwę podkatalogu My-folder" - Zmienia nazwę podfolder w skrzynce użytkownika do mojego-folderze
--url imap: // mail.example.com/INBOX -X "DELETE Sub-folder" - Usuwa podfolder w skrzynce odbiorczej użytkownika
--url imap: // mail.example.com/INBOX -X "ZACHOWAJ 1 + Flagi \ Usunięte" - Usuwa wiadomość 1 ze skrzynki odbiorczej użytkownika
--url IMAP: // mail.example.com/INBOX -X "sklep 1 + Flagi \ widziałem" - Znaki towarowe wiadomość 1 w skrzynce użytkownika jako przeczytane
Oprócz używania składni adresu URL do pobrania wiadomości możliwe jest także użycie niestandardowego mechanizmu żądań do wykonania niestandardowych operacji FETCH. Przykładowo
--url IMAP: // mail.example.com/INBOX X "" sprowadzić 1 Korpus [tekst]" wykona takie same operacje jak
--url IMAP: // mail.example.com/INBOX/;UID=1/;SECTION=TEXT
Części IMAP nie zawierają szczegółowej dokumentacji, zachęcamy do dołączenia do nas w projekcie curl i pomoże nam to poprawić. –