Наш клиент, в силу рабочих регламентов, работает с одним электронным адресом, количество пользователей, работающих с почтой в среднем 8-10 человек, количество писем, до 500 в день (с вложениями до 20 Мб). Каждый почтовый клиент загружал новые письма, персонально для себя. Естественно такой режим работы страшно нагружал канал связи и был не эффективным. Нашими специалистами была предложена следующая модель работы - сбор и обработка писем производится на отдельном компьютере и только с одной учетной записи, а дальше, сотрудники получают корреспонденцию используя локальную сеть. Для реализации достаточно обычной рабочей станции или виртуальной машины, нами была выбрана ОС Linux (Ubuntu Server 12.04 LTS), ниже приведем процесс настройки необходимых программ:
1. Устанавливаем пакеты
sudo apt-get install dovecot-common dovecot-core dovecot-dev dovecot-pop3d getmail4
2. Создаем пользователя для авторизации
sudo adduser user_name
3. Создаем директорию /home/user_name/.getmail/ и файл getmailrc в ней
mkdir /home/user_name/.get mail
touch /home/user_name/.getmail/getmailrc
4. Заполняем .getmailrc - конфиг для getmail
[default]
message_log = "~/.getmail/log" #путь к логу
delete = 0 #не удалять почту на сервере после получения
readall = 1 #получать всю почту
[retriever]
type = SimplePOP3Retriever #для работы по протоколу POP3
server = #pop3 сервер
username = #имя пользователя
password = #пароль
[destination]
type = Maildir
path = /path_to/Maildir/ #путь к каталогу для хранения почты
5. Заполняем /etc/dovecot/dovecot.conf - конфиг для dovecot
protocols = pop3 pop3s #протоколы через пробел
disable_plaintext_auth = no
log_path = /var/log/dovecot/dovecot.log
info_log_path = /var/log/dovecot/dovecot.info
log_timestamp = "%Y-%m-%d %H:%M:%S "
login_trusted_networks = 192.168.1.0/24
mail_location = maildir:/Maildir/ #Maildir та же куда собирает почту getmail
mail_privileged_group = mail
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
protocol managesieve {
}
auth default {
mechanisms = plain
passdb pam {
}
userdb passwd {
}
user = root
!include_try /etc/dovecot/auth.d/*.auth
}
dict {
}
plugin {
}
!include_try /etc/dovecot/conf.d/*.conf
6. Создаем файлы логов
touch /var/log/dovecot/dovecot.log
touch /var/log/dovecot/dovecot.info
touch ~/.getmail/log
7. Добавляем сбор почты gelmail'ом в cron
getmail -n>>/home/user_name/.getmail/log #-n говорит о том что будут скачаны только новые письма, по умолчанию письма с сервера не удаляются
8. Настраиваем почтовый клиент на наш локальный сервер, логин и пароль пользователя которого создали в пункте 2
Результатом нашей работы стали стабильная работа почтовых программ на клиентских компьютерах и снижение нагрузки на интернет канал на 70%.