Собираем почту с других почтовых ящиков в один. Перенос почты с одного почтового ящика в другой. Fetchmail и Postfix Admin
Итак, мы хотим перенести всю почту из одного почтового ящика в другой. Будем делать это с помощью fetchmail.
По умолчанию сборщик почты в PostfixAdmin отключен. Что бы его задействовать необходимо дополнительно настроить систему:
# Добавляем необходимые пакеты для Debian:
sudo apt install libdbd-mysql-perl fetchmail liblockfile-simple-perl
создадим необходимые директории, поменяем права. У нас пользователь
vmail
. У вас может быть другой.
sudo mkdir /var/lock/fetchmail
sudo chown -R vmail:vmail /var/lock/fetchmail
Подкорректируем скрипт:
sudo nano /var/www/html/postfixadmin/ADDITIONS/fetchmail.pl
Изменяем, если необходимо (выбор БД за вами, мы используем MYSQL):
# Изменяем:
#our $db_type = 'Pg';
my $db_type = 'mysql';
..
# database name
our $db_name="DB_NAME_POSTFIXADMIN";
# database username
our $db_username="USERNAME_DB_POSTFIXADMIN";
# database password
our $db_password="PASSWORD_DB_POSTFIXADMIN";
Зададим необходимые права:
sudo chown www-data:www-data /var/www/html/postfixadmin/ADDITIONS/fetchmail.pl
sudo chmod +x /var/www/html/postfixadmin/ADDITIONS/fetchmail.pl
Создадим директорию:
sudo mkdir -p /etc/mail/postfixadmin
Для удобства будем использовать конфигурационный файл:
sudo nano /etc/mail/postfixadmin/fetchmail.conf
Укажите свои значения для переменных:
$db_type = "mysql";
$db_host = "localhost";
$db_name = "DB_NAME_POSTFIXADMIN";
$db_username = "USERNAME_DB_POSTFIXADMIN";
$db_password = "PASSWORD_DB_POSTFIXADMIN";
В PostfixAdmin добавим новую запись. Укажем в какой ящик собирать почту и откуда. Для этого нужно перейти по ссылке вида (list.php?table=fetchmail):
http(s)://ipaddress_mail_server/postfixadmin/public/list.php?table=fetchmail
Запустим скрипт для проверки (укажите свой путь):
sudo -H -u vmail /var/www/html/postfixadmin/ADDITIONS/fetchmail.pl
Ждем пока отработает некоторое время (при наличии почтовых сообщений даже ощутимое время). Если скрипт не выдаст никаких ошибок,
то можно или загрузить собранную почту в почтовом клиенте, или ввести в консоли команду:
sudo ls /home/mail/почтовый_домен/[email protected]/new
Здесь мы сможем увидеть все новые письма, которые собрал скрипт.