Страницы: 1
RSS
Два типа настроек на один почтовый ящик?
 
Проблема в следующем... Мне необходимо имет разные настройки почтовых ящиков на работе и дома. Сейчас мне приходится все время перебивать pop и smtp сервера, их порты и логины по приходу на работу и по приходу домой. А почтовых ящиков у меня 5 штук. Поэтому сами понимаете что это очень неудобно. Поэтому у меня вопрос можно это как-то запрограммировать чтобы быстро осущетсвлять переключение с режима "дома" на режим "на работе". Я думаю что эта проблема не только возникает у меня.

 
есть набор файлов:
c:\AData\Mail\.profiles\work\a@mail.ru\Account.CFN
c:\AData\Mail\.profiles\home\a@mail.ru\Account.CFN
c:\AData\Mail\.profiles\Del_accounts.reg
c:\AData\Mail\.profiles\work\Users Depot.reg
c:\AData\Mail\.profiles\home\Users Depot.reg

Account.CFN - настройки конкретного ящика
Users Depot.reg - копия ветки реестра
[HKEY_CURRENT_USER\Software\RIT\The Bat!\Users Depot]
тут хранится перечень зарегистрированных ящиков
делается через regedit или подходящий софт

Del_accounts.reg - файл для удаления ветки [HKEY_CURRENT_USER\Software\RIT\The Bat!\Users Depot]
в принципе будет работать и без него но для красоты сделал.
выглядит примерно так:
=============
Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\RIT\The Bat!\Users Depot]
===============


Есть два командных файла:
start_home.bat
================================
rem Удаление ветки реестра
start /wait regedit /s c:\AData\Mail\.profiles\Del_accounts.reg

rem Загрузка ветки реестра из профиля
start /wait regedit /s "c:\AData\Mail\.profiles\home\Users Depot.reg"

rem Копирование настроек ящика из профиля
copy C:\AData\Mail\.profiles\home\a@mail.ru\Account.CFN C:\AData\Mail\a@mail.ru\

rem Запуск Мыша если надо
rem C:\APack\TheBat\thebat.exe
================================

Второй start_work.bat примерно такой же, но для другого профайла.


Метод подходящий, но над реализацией можно ещё поработать. Если интересно можно совместно это тут обсудить. И доработать или улучшить.

Во всяком случае я уже давно работаю именно так.
 
Да, эта была небольшая проблема, пока был 1 ящик, сейчас их 5 и может увеличиться еще. А это уже большая проблема и начинаешь задумываться об альтернативных почтовых программах.

Да я согласен коллективно сделать все это удобно и просто для все пользователей. Давайте над этим поработаем.

По поводу решения, я так и предполагал делать, но я начал сначала разбирать с интерфейсом плагинов, но там по-моему ничего такого нет, чтобы изменять настройки почтового ящика. Хотелось сделать элегантное решение. Вторая попытка - это редактирование файла конфигурации, но в лоб не получилось, надо разбираться с форматом хранения информации в файле конфигурации. Кстати не нашел я в нем где храняться номера портов. Ни в реестре нет ни в файла в ACSII коде, наверное храниться в двоичном формате. Вообщем надо разбираться.

Еще проще мне кажеться сделать настройки "дома" и сохранить файлы конфигурации под другим именем, затем, сделать настройки "работа" и оставить с оригинальным названием, а перед запуском почтовика просто переименовывать их и все.
Это пока теория надо попробовать.

А использовать реестр, это если разное количество почтовых ящиков на работе и дома.
 
Ну если 5 ящиков тогда в моем случае просто строчек будет больше, а не одна как тут.
у меня много ящиков. из них несколько я использую только дома, а несколько только на работе, поэтому я и сделал загрузку ветки в Users Depot.reg - дома и на работе разные ящики в некотором виде пересекающиеся конечно.
Мой вариант оформлен в лоб минут за 10....

В интерфейсе плагинов я сам такого не нашел...
Кстати, а на каком языке?

А найти можно очень просто в файле Account.CFN где порт: сделать две разных версии и двоично сравнить.
 
Вот то решение которое у меня работает сейчас. на старте работает следующий скрипт:

Цитата

'имя профайла
profile_name = "work"

'имена ящиков которые надо подключать
Dim accounts(6)
accounts(1) = "xxx@mail.ru"
accounts(2) = "xxx"
accounts(3) = "xxx"
accounts(4) = "xxx"
accounts(5) = "yyy"
accounts(6) = "zzz"

'имена ящиков для которых надо менять настройки
'настройки должны лежать в папке
'...\mail\.profiles\имя_профиля\имя_ящика\Account.CFN
Dim accounts_profiles(2)
accounts_profiles(1) = "xxx@mail.ru"
accounts_profiles(2) = "zzz"

set WSHShell = WScript.CreateObject("WScript.Shell")
set fso = WScript.CreateObject("Scripting.FileSystemObject")

tb_exe = WSHShell.RegRead("HKCU\Software\RIT\The Bat!\EXE path")
tb_mail = WSHShell.RegRead("HKCU\Software\RIT\The Bat!\Working Directory")

for i = 1 to UBound(accounts)
 WSHShell.RegWrite "HKCU\Software\RIT\The Bat!\Users Depot\User #" & i, accounts(i)
 WSHShell.RegWrite "HKCU\Software\RIT\The Bat!\Users Depot\Dir #" & i, ""
next
WSHShell.RegWrite "HKCU\Software\RIT\The Bat!\Users Depot\Count", UBound(accounts), "REG_DWORD"

for i = 1 to UBound(accounts_profiles)
 fso.CopyFile  tb_mail & ".profiles" & profile_name & "" & accounts_profiles(i) & "" & "Account.CFN", _
               tb_mail & accounts_profiles(i) & ""
next

WSHShell.Run tb_exe

таких скриптов у меня 2. один для дома, другой для работы
Страницы: 1