2012-04-22 10 views
8

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

+0

Części IMAP nie zawierają szczegółowej dokumentacji, zachęcamy do dołączenia do nas w projekcie curl i pomoże nam to poprawić. –

Odpowiedz

3

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.

10

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