Модуль Mail::IMAPClient, написанный Дэвидом Керненом (David Kernen), представляет наиболее широкий перечень функциональных средств по сравнению с другими модулями; в нем предусмотрены методы выдачи всех команд IMAP. Однако в модуле Mail::IMAPClient не так уж много сделано для отображения ответов сервера IMAP в удобные в работе объекты Perl. Для использования этого модуля нужно иметь под рукой документ RFC 2060 и быть готовым к тому, что ответы сервера придется интерпретировать самому.
В модуле Net::IMAP Кевина Джонсона (Kevin Johnson) выполнен больший объем работы по интерпретации ответов сервера и предусмотрен изящный интерфейс обслуживания вызова, который позволяет перехватывать и обрабатывать события сервера. К сожалению, этот модуль находится на этапе разработки альфа-версии и его интерфейсы продолжают изменяться. Кроме того, инструкция модуля местами может быть неполной.
В настоящее время наиболее удобным в работе интерфейсом к протоколу IMAP является модуль Net::IMAP::Simple Жоао Фонсека (Joao Fonseca). Он предоставляет доступ к подмножеству протокола IMAP, которое в наибольшей степени напоминает протокол POP3. В действительности, интерфейс модуля Net::IMAP::Simple один из методов, в значительной степени повторяющих методы модуля Net::POP3 и, по большей части, полностью совместимых с ними.
Как и при использовании модуля Net::POP3, работа с модулем Net::IMAP::Simple начинается с вызова его метода new() для подключения к хосту сервера IМАP. После выполняется аутентификация с помощью метода login(), процесс получения заголовков сообщений посредством методов list() и top() и выборка сообщений с применением метода get(). В отличие от Net::РOРЗ, в модуле Net::IMAP::Simple не предусмотрен метод арор() для проверки подлинности пользователя без передачи паролей в виде открытого текста. Однако в этом модуле предусмотрена возможность работать с несколькими удаленными почтовыми ящиками. Модуль Net::IМАР::Simple позволяет получать список почтовых ящиков пользователей, создавать и удалять их, а также копировать сообщения из одного почтового ящика в другой.