2013-08-08 4 views
3

Я пытаюсь использовать Curl (на самом деле libcurl), чтобы перечислить электронные письма в папке Sent Mail моей учетной записи gmail.Curl IMAP Gmail

В папке «Входящие» отлично работает, однако в каталогах в [Gmail] этого нет, потому что квадратные скобки не разрешены в URL-адресах. Я пробовал флаг -g без каких-либо успехов.

.\curl.exe "imaps://imap.gmail.com:993/[Gmail]/Sent Mail" --cacert ".\cacert.pem" -u user:pass 

Урожайность:

curl: (3) URL using bad/illegal format or missing URL

.\curl.exe "imaps://imap.gmail.com:993/[Gmail]/Sent Mail" --cacert ".\cacert.pem" -u user:pass -g 

Урожайность:

curl: (3) [globbing] error: bad range specification after pos 29

Может кто-нибудь посмотреть, как я буду неправильно?

+1

Вы пробовали процент кодирования [и]? – Max

+0

Да ... ". \ Curl.exe" imaps: //imap.gmail.com: 993 /% 5BGmail% 5D/Sent Mail "--cacert". \ Cacert.pem "-u user: password" приводит к «завиток: (3) URL-адрес с использованием неправильного/нелегального формата или отсутствующего URL-адреса». – Alex

+0

Кажется, что на самом деле это был самый успешный результат, который я имел ... смотря на вывод из подробного флага. Curl, по крайней мере, пытается выбрать папку '> A003 LIST" "[Gmail]/Sent Mail" "* Alex

ответ

0

Я представил это как комментарий к моему вопросу, но мне удалось заставить его работать правильно сейчас, и дополнительно процент кодирования пространства, предоставив флаг -X для пользовательского запроса IMAP, для поиска адрес электронной почты, который я искал.

+0

Была проблема с этим, мой пользовательский запрос IMAP не поддерживался в CURL, поэтому мне пришлось добавить его сам к кодовой базе. – Alex

3

Switch off globbing Если вы хотите использовать [] в URL-адресе.

+0

Я получаю «завиток: (3) URL-адрес, используя неправильный/незаконный формат или отсутствующий URL-адрес», когда я использую -g. Но он отлично работает, когда я не указываю папку (просто «imaps: //imap.gmail.com: 993 /»). Поэтому я предполагаю, что это должно быть связано с выбором папки ('/ [Gmail]/Sent Mail') URL-адреса. Я пробовал '/ \ [Gmail \]/Sent Mail','/[Gmail]/Sent% 20Mail', '/ \ [Gmail] \/Sent% 20Mail','/[Gmail]/Sent', '/\ [Gmail \]/Sent', '/ Sent' все с флагом -g, и я получаю такое же незаконное URL-сообщение. – Alex

Смежные вопросы