MAIL_FWX: Файлсистемный плагин для Total Commander.
Назначение: Работа с почтовыми ящиками как с каталогами.
Версия: 0.99b6 (05.02.2007)
Автор: Павел Дубровский aka Antikiller.D1P (UIN 215168320)

Описание:
Плагин предназначен для работы с почтовыми ящиками по протоколам POP3/SMTP прямо в Total Commander.

В текущей версии поддерживаются следующие операции:
- Просмотр информации о письме в пользовательских колонках без доставки письма (скачиваются только заголовки -> уменьшение траффика).
- Удаление писем с сервера (DEL).
- Доставка писем с удалением с сервера (F6) и без него (F5).
- Просмотр объёма почтового ящика без скачивания писем.
- Все письма сохраняются в *.eml (далее описаны способы работы с этим форматом).
- Просмотр писем (включая аттачи).
- Редактирование и отправка писем.

Известные ограничения:
- При копировании/перемещении/удалении писем не выводится никаких запросов (в том числе и на перезапись существующих файлов).
- Плагин не умеет работать через прокси.
- Время последнего доступа для почтовых ящиков всегда возвращается текущее (потому что нет способа получить настоящее значение).
- В просмотрщике никак не обрабатывается кодировка писем (т.е. письма с нелатинскими символами могут просматриваться некорректно).
- Возможны проблемы под Windows 9x (не проверялось).
- Проблемы с отправкой писем.
- Проблемы при использовании редактора как отдельного приложения.

Планы на будущее:
- Добавить работу с IMAP4 (работа с почтой прямо на сервере).
- Добавить поддержку различных способов POP3 аутентификации (NTLM/RPA/MD5/etc).
- Добавить поддержку работы через прокси.
- Добавить адресную книгу, и другие улучшения.

---

Установка плагина:

Используйте функцию автоматической установки плагинов Total Commander либо установите плагин вручную в настройках Total Commander.

Настройка плагина:
Перейдите в Сетевое окружение Total Commander и выберите в списке каталог MAIL. Нажмите Alt+Enter, появится диалог настройки плагина. В списке внизу окна можно выбрать язык локализации плагина (язык применяется сразу же).
Для работы с плагином необходимо добавить хотя бы один ящик. Нажмите кнопку "Добавить", введите в появившееся окно запроса название ящика. Сразу после добавления этот ящик будет выбран в списке, введите соответствующие ему настройки.
Введите в соответствующие поля адрес почтового сервера и логин. Также можно указать пароль, который хранится в шифрованном виде, но при определённых усилиях со стороны взломщика может быть восстановлен. Пароль можно не вводить, тогда он будет запрашиваться каждый раз при обращении к этому ящику.
Вы можете установить опцию "Использовать этот аккаунт для отправки писем", тогда все отправляемые письма по умолчанию будут использовать настройки этого аккаунта.

После того, как все параметры введены, нажмите кнопку "Применить". Теперь можно закрыть диалог, либо добавить ещё один ящик тем же способом.
Совет: для редактирования списка почтовых ящиков есть следующие горячие клавиши (фокус должен находиться на списке):
Insert: добавить ящик.
Delete: удалить выделенный ящик.
F2, Shift+F6, двойной щелчок: переименовать выделенный ящик.
F5: копировать выделенный ящик.

После того как в плагин добавлено один или более ящиков, войдите в файловую систему плагина. Список ящиков будет доступен в виде каталогов. Если вы используете TC 7.0+, то будет включен режим пользовательских колонок по умолчанию (см. далее).
Далее возможны следующие операции:
Alt+Enter на каталоге: редактирование параметров почтового ящика.
Space на каталоге: вывод размера, занятого на почтовом ящике. Требует соединения с сервером, однако передачи писем не происходит.
F7 (MkDir): создание почтового ящика.
А8, Del на каталоге: удаление выбранного почтового ящика.

При входе в каталог происходит скачивание заголовков писем (сами письма не скачиваются). С письмами можно работать как с файлами - копировать, перемещать, просматривать и удалять. Копировать файлы в файловую систему плагина нельзя.

Примечание: 
Если операция требует соединения с сервером, то используются соответствующие настройки, указанные для этого ящика. Если в настройках не указан пароль, то будет выведен диалог запроса пароля. Если в этом диалоге установить опцию "Сохранить пароль", то он будет сохранён в настройках ящика так же, как если бы его сохранили в основном диалоге настроек. Если опция не будет установлена, то пароль будет сохранён в памяти до конца сессии.

Работа с пользовательскими колонками:
Плагин поддерживает вывод пользовательских колонок. Для работы этой функции требуется Total Commander 7.0 или выше.
Набор колонок по умолчанию автоматически устанавливается при первом запуске плагина. Также в настройках TC можно установить собственный набор колонок из следующих:

Attachment encoding: алгоритм кодирования передаваемых в письме данных.
Recipients: список адресатов.
Charset: используемый в теле письма набор символов.
Attachment MIME: MIME-тип передаваемых в письме данных.
Flags: флаги письма в формате AFDXSR. Расшифровка: A) Answered - на письмо написан ответ; F) Flagged - флаг наблюдения; D) Deleted - письмо удалено; X) Draft - черновое письмо, ещё не отправлено адресату; S) Seen - письмо было получено и прочитано; R) Recent - письмо было добавлено в ящик со времени его последнего посещения.
From: оригинальный отправитель письма.
Organization: организация отправителя.
Priority: приоритет письма.
ReplyTo: адрес для ответа на письмо.
Sender: последний отправитель письма (указывается при пересылке).
Subject: тема письма. Имеет две субколонки: Encoded (тема в кодировке, определённой плагином) и Original (тема в оригинальной кодировке).
UID: уникальный идентификатор сообщения.
MsgID: идентификатор сообщения.
Cached: кешировано ли сообщение.

Редактор:
В плагин встроен редактор почтовых сообщений, также использующийся для отправки писем. Его интерфейс, надеюсь, интуитивно понятен, поэтому перечисляю список горячих клавиш:
Esc: закрыть окно (просмотрщик/редактор).
Alt+O: загрузить письмо (просмотрщик/редактор).
Shift+Ctrl+O: загрузить письмо для ответа (редактор).
Alt+S: сохранить письмо (просмотрщик/редактор).
Alt+T: переключение режима "поверх всех" (просмотрщик/редактор).
Alt+A: добавить вложение (редактор).
Alt+Enter: открыть сообщение в редакторе для ответа (просмотрщик).
Ctrl+Enter: отправить сообщение (редактор).
Alt+H: переключить окно просмотра заголовка.

Редактор можно использовать и как отдельную утилиту. Для этого запустите программу TCMAIL, входящую в дистрибутив плагина.
TCMAIL поддерживает работу с параметрами командной строки:

TCMAIL.exe "path\file.eml" [v] [a]

где:
path\file.eml - путь до открываемого файла;
v - запускает режим просмотра (может быть опущен, тогда файл откроется в режиме редактирования);
а - параметр, указывающий что нужно создать ответ на выбранное письмо (может быть опущен, тогда файл откроется как ранее сохранённое письмо).
Пример кнопки для тулбара TC, открывающей ответ на письмо под курсором в редакторе:

TOTALCMD#BAR#DATA
C:\PLUGIN_PATH\TCMAIL.exe
"%p%n" a
C:\PLUGIN_PATH\TCMAIL.exe
TCMAIL
C:\PLUGIN_PATH

-1

---

Работа с eml:
Все письма в плагине представлены в формате eml, и в этом же формате их можно сохранять в физической файловой системе. Eml - это простой текстовый формат сообщений, который можно просматривать даже листером без установленных плагинов.
Работать с письмами можно следующими способами:
1) Использовать встроенный просмотрщик (запуск по Enter или Alt+Enter, как указано в настройках). Он позволяет просматривать письма и работать с вложениями.
2) Нажать Enter на письме (в файловой системе плагина, если это разрешено в настройках, либо на eml-файле в локальной файловой системе). Если в системе установлена ассоциация на это расширение, то запустится ассоциированное приложение и письмо откроется в нём. Обычно ассоциацию с eml устанавливают почтовые клиенты - Outlook, The Bat! и другие.
3) Установить плагин wlx_eml от Иван aka Atlanoff. Плагин позволяет просматривать eml в "читаемом" виде, и сохранять почтовые вложения.
4) Использовать на eml-файле команду cm_Encode. Total Commander "распакует" письмо, в том числе и вложенные аттачи. Недостатки - нельзя использовать команду внутри файловой системы плагина, и нельзя применять команду на несколько файлов сразу.

Дополнительная информация:
Для ускорения работы и экономии траффика при использовании пользовательских колонок плагин кеширует полученные заголовки писем. Обновление кеша происходит каждый раз при обращении к почтовому ящику, так что никакой вероятности того, что в кеше будут содержаться устаревшие данные не существует.
Кешированные заголовки можно найти по адресу каталог_плагина\cache\название_ящика\. Просмотреть заголовки можно с помощью любого текстовго просмотрщика, либо, изменить расширение hdr на eml и использовать плагин wlx_eml.
Также возможно кеширование получаемых писем (опционально). При включении этой опции все скачиваемые письма кешируются так же, как и заголовки, в результате происходит ускорение повторного обращения к этому письму и экономия траффика. Письма не кешируются при перемещении (F6) писем с сервера (т.к. повторное обращение к этому письму на сервере уже невозможно) и при просмотре писем внешним приложением (ограничение WFX API).

---

GMail HOWTO:

GMail (Google Mail) - почтовый сервис от корпорации Google. Основной особенностью этого сервиса является то, что под каждый аккаунт предоставляется более 2 Гб дискового пространства (и этот объём постоянно увеличивается).
Плагин позволяет работать с GMail-аккаунтами как с обычным почтовым ящиком. Для этого нужно:
1) В свойствах GMail-аккаунта (через веб-интерфейс) разрешить получение писем с помощью POP3.
2) Скопировать файлы libeay32.dll и ssleay32.dll в каталог Total Commander.
3) В плагине указать следующие настройки:
Сервер получения почты: pop.gmail.com
Порт: 995
Пользователь: имя_вашего_акканута@gmail.com
Пароль: ваш-пароль
Сервер отправки почты: smtp.gmail.com
Порт: 465

Необходимо включить параметр "Безопасное соединение (TLS\SSL).

---

История:

v. 0.99b6 (05.02.2007)
* Сохранённое ранее письмо всегда открывалось как для ответа
* В некоторых случаях использовались неверные координаты окна редактора
+ Опция "Очищать кеш заголовков при отключении плагина". При включённой опции нажатие кнопки Disconnect в TC приводит к удалению всех кешированных ранее заголовков, что позволяет сэкономить немного дискового пространства. В любом случае, после отключения, эти заголовки плагином уже не используются (и перезаписываются при следующем включении), так что хранить их стоит только если они нужны вам самим.

v. 0.99b5 (03.02.2007)
* Неверное отображение некоторых элементов интерфейса при включённых темах XP.
* Неверная генерация поля From в заголовке.
* Мелкие исправления.
+ Опция сохранения позиции и размера окна редактора.

v. 0.99b4 (02.02.2007)
* Изменены клавиатурные сочетания в редакторе писем (прежние конфликтовали со стандартными).
* Ошибка работы с письмами, в теме которых стоял знак """.
* Исправлена ошибка открытия языкового файла с пустой строкой.
* Исправлены ошибки отправки писем с аттачами (в некоторых случаях аттачи создавались некорректно).
* Исправлено: дублирование заголовков в некоторых случаях.
* Более корректная генерация сообщений (правильная подстановка полей).
* Исправления в режиме работы внешнего редактора.
* Проверена работа SMTP-аутентификации. Оно работает :)
+ POP3-аутентификация: APOP-аутентификация.
+ Просмотр заголовков письма в редакторе (переключение Alt+H)
+ Ctrl+Колесо мыши изменяет размер шрифта в редакторе/просмотрщике.
+ Ctrl+Gray+/Gray- изменяет размер шрифта в редакторе/просмотрщике.
+ Основной набор иконок плагина заменен на набор, основанный на теме Marina броузера Opera.
+ Возможность выбора размера кнопок тулбара.
+ Возможность выбора способа отображения подписей кнопок тулбара.
+ Возможность установки градиентной заливки тулбара.
+ Возможность задавать режим "Поверх всех" для редактора по умолчанию.
+ Мелкие исправления и добавления
 
v. 0.99b3 (19.01.2007)
* Ошибка работы с письмами, в теме которых стоял "?".
* Исправления ошибок SMTP-аутентификации (по прежнему не тестировалось).
* Убраны иконки просмотрщика (будут заменены на новые).
* Частичное решение проблемы отображения кодировки тем писем, содержащих не US-ASCII символы: если кодировка не указана явна, плагин пытается вывести тему в системной кодировке.
+ Пользовательская колонка Subject имеет две субколонки: Encoded и Original.
+ Экспериментальная поддержка SSL/TLS (только для POP3): поддержка GMail.
+ Шифрование пользовательских паролей. Внимание: все пароли, сохранённые в предыдущих версиях плагина необходимо ввести заново. Также помните, что шифрование не даёт гарантии того, что ваш пароль не будет узнан.
+ Drag'n'Drop файлов в список аттачей.
! Многие известные ошибки не исправлены.

v. 0.99b2 (14.01.2007)
* Исправления ошибок интерфейса.
* Исправлены ошибки со списком вложений.
* Невозможно было отправить сообщение, если для отправки был выбран ящик не по умолчанию.
* Исправлена ошибка запуска под TC 6.x.
+ Поддержка %commander_path% и %commander_drive% в пути сохранения аттачей.
+ Изменения в наборе колонок: удалена колонка "Date" (как дублируемая стандартной колонкой), добавлена колонка "Charset".
+ SMTP-аутентификация (не тестировалось).
+ Опция "Закрыть редактор после отправки".
+ Del в списке вложений удаляет выбранные вложения.
+ Вызов редактора как внешнего приложения (TCMAIL.exe).
! Первая публичная бета.

v. 0.99b1 (13.01.2007)
* Небольшие исправления в интерфейсе.
+ Настройка таймаута соединения.
+ Диагностика проблем (вывод в панель TC для POP3 и в собственный диалог для SMTP).
+ Диалог прогресса отправки собщения.

v. 0.991a (12.01.2007)
* Выход из редактора по Esc иногда вызывал ошибку.
* Некоторые темы XP делали некоторые поля невидимыми.
* Ошибка с кешированием всё ещё была неисправлена.

v. 0.99a (12.01.2007)
* Исправления в интерфейсе.
+ Добавлен редактор.
+ Отправка почты (поддержка SMTP).
! Внимание! В редакторе много недоработок и возможны ошибки. Версия только для тестирования!

v. 0.92a (08.01.2007)
+ Добавлен индикатор изменения настроек каталога
+ Добавлены пользовательские колонки UID (уникальный идентификатор сообщения) и MsgID (идентификатор сообщения).
+ Добавлена колонка Cached, показывающая, кешировано ли сообщение. Из-за особенностей поведения TC и плагина иногда не отображает кешированные письма.
+ Языковые файлы: slovak.mpl (от Jozef Kundlak), polish.mpl (от Dariusz J. Kawecki), german.mpl (от Alexandre Mayor), danish.mpl (от Peter H. S. Madsen).
* Серьёзные исправления в механизме кеширования!

v. 0.91a (08.01.2007)
* Исправлена ошибка с сообщением "List index out of bounds" при сохранении настроек.
* Исправлена ошибка в диалоге выбора каталога.
* Исправлены ошибки кеширования сообщений.
* Исправления в интерфейсе.
* Исправления в встроенном просмотрщике.
* Другие исправления.

v. 0.9a (07.01.2007)
* Кнопка "Применить" в настройках почты активируется только после внесения изменений.
* Работает сортировка по всем пользовательским колонкам
* Расширение языковых файлов изменено на mpl (чтобы избежать проблем при использовании файлов перевода пользовательских колонок).
* Опции SMTP разблокированы (хотя пока ни на что не влияют).
+ Поддержка стилей XP.
+ Можно копировать почтовые ящики (через меню или хоткей F5).
+ Создание каталога в файловой системе плагина создаёт почтовый ящик.
+ Удаление каталога в файловой системе плагина удаляет почтовый ящик.
+ Кеширование писем (опционально): при включении опции все скачиваемые письма кешируются так же, как и заголовки -> ускорение повторного обращения к этому письму и экономия траффика. Письма не кешируются при перемещении (F6) писем с сервера (т.к. повторное обращение к этому письму на сервере уже невозможно) и при просмотре писем внешним приложением (ограничение WFX API).
+ Отображается прогресс при входе в почтовый ящик. Операцию можно отменить, при этом будет возможна работа с уже полученными письмами (очень полезно для медленных и нестабильных соединений).
+ Реализован просмотр сообщений.
+ Реализован просмотр и сохранение вложений (по умолчанию сохранение производится в каталог плагина; изменяется в настройках).
+ Настройка поведения плагина при открытии (Enter) и просмотре свойств (Alt+Enter) сообщений.

v. 0.7b (05.01.2007)
* Пустой список ящиков отборажается корректно.
* Изменено окно настроек.
* В файле локализации можно указывать дополнительную информацию (например автора локализации).
* Окно настроек ведёт себя нормально (остаётся поверх всех окон).
* Изменены диалоги ввода (стандартные слишком глючные).
* Добавлен хоткей Shift+F6 на переименование ящика.
* Изменён вид набора пользовательских колонок по умолчанию.

v. 0.7a (05.01.2007)
+ Поддержка работы через POP3.
+ Работа с неограниченным количеством ящиков.
+ Запрос пароля, если он не введён.
+ Отображение прогресса скачивания.
+ Вывод информации в панель TC.
+ Просмотр информации о письмах в пользовательских колонках (TC 7.0+).
+ Кеширование заголовков писем (ускорение работы и экономия траффика при включённых пользовательских колонках).
+ Возможность локализации.

---

Пожелания и сообщения об ошибках принимаются на ICQ UIN 215168320.