Да, но TLS! = SSL. Для работы TLS вам нужно создать простой сокет, обработать команду IMAP STARTTLS, а затем преобразовать ее в сокет SSL. В то время как IO :: Socket :: SSL может «обновлять» сокеты, как это, согласование STARTTLS является частью протокола IMAP и, следовательно, не «изобретает колесо» - вы делаете каждого пользователя клиентского модуля IMAP изобретать колесо чтобы обрабатывать эту часть протокола (включая любые другие биты и куски, например, незанятые события), которые появляются во время процесса, «вручную»!
Возможно, мне удастся открыть сокет, сбросить все полученные и просто отправить «STARTTLS \ r \ n» вниз, а затем вызвать start_SSL и надеяться на лучшее. Разумеется, проверка работоспособности отсутствует, если вы не сделаете это вручную, для чего вам придется искать RFC-запросы IMAP.
Mail :: IMAPClient имеет TLS погрузо-встраиваемый, хотя у меня были вопросы, связанные с многочастных сообщений в тех случаях, когда я только хочу, чтобы загрузить некоторые части - если вы захватывая все сообщение в любом случае это не будет дело. Однако для меня поиск продолжается!
Боюсь, я недостаточно понимаю об этом, чтобы закодировать то, что нужно закодировать. Я действительно ищу модуль, который обеспечивает эту встроенную функциональность. Другими словами, я хотел бы просто инициировать соединение IMAP и указать «TLS => 1». С другой стороны, я был бы счастлив, если бы вы немного подробно описали, как я могу получить модуль IMAP с поддержкой TLS, используя вышеуказанные методы. –
Сделайте свое сетевое соединение с io :: socket, а затем передайте это соединение на почту :: imapclient. Он не будет пытаться создавать свою собственную связь, а скорее использовать одно использование, сделанное для него. Это позволяет использовать любой механизм, который вы можете собрать. Это хорошо, потому что мы действительно не хотим, чтобы программисты mail :: imapclient изобретали колесо и работали с сетью. – hpavc