Существует ли модуль Perl IMAP с поддержкой TLS? - PullRequest
4 голосов
/ 05 мая 2009

Я пишу сценарий Perl для подключения к серверу IMAP, который требует TLS через порт 143. Сервер не поддерживает подключение по SSL. Пока что модули Perl IMAP, которые я обнаружил, поддерживают только SSL, а не TLS.

Существуют ли какие-либо модули Perl IMAP, которые поддерживают TLS? До сих пор я смотрел на:

Net :: IMAP Net :: IMAP :: Simple Net :: IMAP :: Клиент

Net :: IMAP :: Client поддерживает SSL, но не TLS.

Есть мысли?

Ответы [ 2 ]

2 голосов
/ 29 мая 2011

Да, но TLS! = SSL. Чтобы TLS работал, вам нужно создать простой сокет, разобраться с командой IMAP STARTTLS и затем преобразовать ее в сокет SSL. Хотя IO :: Socket :: SSL может «обновлять» сокеты, как это, согласование STARTTLS является частью протокола IMAP и, следовательно, не «изобретает колесо» - вы заставляете каждого пользователя клиентского модуля IMAP заново изобретать колесо, необходимость обрабатывать ту часть протокола (включая любые другие биты и фрагменты, например, события простоя), которые появляются во время процесса, «вручную»!

Полагаю, что возможно открыть сокет, выгрузить все полученное и просто отправить «STARTTLS \ r \ n» по нему, затем вызвать start_SSL и надеяться на лучшее. Конечно, там нет возможности проверки, если вы не сделаете это вручную, для чего вам нужно будет посмотреть RFC IMAP.

Mail :: IMAPClient имеет встроенную обработку TLS, хотя у меня были проблемы, связанные с составными сообщениями в тех случаях, когда я хочу загрузить только определенные части - если вы все равно получаете это сообщение, не имеет значения Для меня, однако, поиск продолжается!

2 голосов
/ 05 мая 2009

Вы создаете сокет не-ssl, который впоследствии трансформируется: «Это также полезно, если вы хотите использовать альтернативы IO :: Socket :: INET, такие как IO :: Socket :: SSL».

http://search.cpan.org/dist/Mail-IMAPClient/lib/Mail/IMAPClient.pod#Socket

... при создании ссылки на метод здесь ...

http://metacpan.org/pod/IO::Socket::SSL#METHODS

пример здесь можно легко настроить

http://cpansearch.perl.org/src/SULLR/IO-Socket-SSL-1.24/example/ssl_client.pl

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...