Настройка Catchall почты для GSA и Xrumer

Полное руководство по установке и настройке catchall почты на Ubuntu 20.04 для работы с GSA и Xrumer

Скачать скрипт автоматической установки

Введение

Catchall («принять всё») — это тип почтовой конфигурации, при которой все письма, отправленные на любой адрес вашего домена, перенаправляются в один почтовый ящик. Это особенно полезно при работе с инструментами автоматизации SEO, такими как GSA Search Engine Ranker и Xrumer, которые требуют большого количества электронных адресов для регистрации на различных сайтах.

В этом руководстве мы пошагово разберем процесс настройки собственного catchall почтового сервера на базе Ubuntu 20.04 с использованием Postfix и Dovecot. Вы получите работающий почтовый сервер, который будет:

  • Принимать письма, отправленные на любой адрес вашего домена
  • Поддерживать протоколы POP3 и IMAP для доступа к почте
  • Работать с SSL/TLS для безопасных соединений
  • Корректно взаимодействовать с GSA и Xrumer

Примечание: Это руководство предполагает базовые знания Linux и работы с командной строкой.

Системные требования

Для успешной установки catchall почты вам потребуется:

  • Сервер с Ubuntu 20.04 (LTS)
  • Минимум 1 ГБ оперативной памяти
  • Минимум 10 ГБ дискового пространства
  • Доступ к серверу с правами root или sudo
  • Зарегистрированный домен
  • Доступ к управлению DNS-записями домена (например, через Cloudflare)

Убедитесь, что на вашем сервере открыты следующие порты:

Порт Протокол Описание
25 TCP SMTP (для приема почты)
110 TCP POP3 (для доступа к почте)
143 TCP IMAP (для доступа к почте)
993 TCP IMAPS (IMAP с SSL)
995 TCP POP3S (POP3 с SSL)

Ручная установка

Если вы предпочитаете контролировать каждый шаг установки, воспользуйтесь следующей пошаговой инструкцией:

Обновление системы и установка необходимых пакетов

Сначала обновите списки пакетов и установите необходимое программное обеспечение:

sudo apt update
sudo apt upgrade -y
sudo apt install -y postfix dovecot-core dovecot-imapd dovecot-pop3d net-tools

При установке Postfix вам будет предложено выбрать тип настройки. Выберите Internet Site и введите полное доменное имя (FQDN) вашего сервера, например mail.yourdomain.com.

Создание пользователя для catchall почты

Создайте нового пользователя, который будет получать всю входящую почту:

sudo useradd -m -s /bin/bash catchall
sudo passwd catchall

Введите надежный пароль для этого пользователя. Запомните его — он потребуется для настройки почтовых клиентов и GSA/Xrumer.

Настройка Postfix

Отредактируйте основной файл конфигурации Postfix:

sudo nano /etc/postfix/main.cf

Замените содержимое файла следующей конфигурацией (не забудьте заменить yourdomain.com на ваш домен):

# Основные настройки Postfix
myhostname = mail.yourdomain.com
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost, yourdomain.com
home_mailbox = Maildir/
virtual_alias_maps = hash:/etc/postfix/virtual
inet_interfaces = all
inet_protocols = ipv4
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtp_tls_security_level = may
smtp_tls_note_starttls_offer = yes

# Безопасность - предотвращение открытого релея
smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

Затем создайте файл виртуальных алиасов для catchall:

sudo nano /etc/postfix/virtual

Добавьте следующую строку (замените yourdomain.com на ваш домен):

@yourdomain.com catchall

После сохранения файла, обновите карту виртуальных адресов:

sudo postmap /etc/postfix/virtual

Настройка Dovecot

Теперь настроим Dovecot для использования формата Maildir и включим IMAP и POP3 протоколы:

Настройка основной конфигурации:

sudo nano /etc/dovecot/dovecot.conf

Убедитесь, что в файле есть следующие строки:

protocols = imap pop3
listen = *

Настройте формат почтового ящика:

sudo nano /etc/dovecot/conf.d/10-mail.conf

Найдите строку с mail_location = maildir:~/Maildir

Настройте аутентификацию:

sudo nano /etc/dovecot/conf.d/10-auth.conf

Найдите строку с disable_plaintext_auth и измените ее на:

disable_plaintext_auth = no

Настройте порты для IMAP и POP3:

sudo nano /etc/dovecot/conf.d/10-master.conf

Убедитесь, что секции для IMAP и POP3 выглядят следующим образом:

service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}

service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}

Создание структуры Maildir

Создайте каталог Maildir для пользователя catchall:

sudo mkdir -p /home/catchall/Maildir/{new,cur,tmp}
sudo chown -R catchall:catchall /home/catchall/Maildir
sudo chmod -R 700 /home/catchall/Maildir

Перезапуск служб

Перезапустите Postfix и Dovecot для применения настроек:

sudo systemctl restart postfix
sudo systemctl restart dovecot

Проверьте статус служб, чтобы убедиться, что они работают без ошибок:

sudo systemctl status postfix
sudo systemctl status dovecot

Проверка открытых портов

Убедитесь, что необходимые порты открыты и слушаются соответствующими службами:

sudo ss -tulpn | grep -E ':110|:143|:993|:995|:25'

Вы должны увидеть, что Postfix слушает порт 25, а Dovecot слушает порты 110, 143, 993 и 995.

Настройка файрвола (если используется)

Если вы используете UFW, разрешите необходимые порты:

sudo ufw allow 25/tcp
sudo ufw allow 110/tcp
sudo ufw allow 143/tcp
sudo ufw allow 993/tcp
sudo ufw allow 995/tcp

Настройка Cloudflare

Для корректной работы почтового сервера необходимо правильно настроить DNS-записи. Если вы используете Cloudflare для управления доменом, выполните следующие шаги:

Вход в панель управления Cloudflare

Авторизуйтесь в панели управления Cloudflare и выберите ваш домен.

Создание A-записи для почтового сервера

Перейдите во вкладку DNS и добавьте новую A-запись:

  • Тип: A
  • Имя: mail
  • IPv4-адрес: IP-адрес вашего сервера
  • TTL: Auto
  • Proxy status: DNS only (серое облако)

Важно: Всегда отключайте прокси Cloudflare (выбирайте "DNS only") для почтовых серверов. Почтовый трафик не должен проходить через прокси Cloudflare.

Добавление MX-записи

Добавьте MX-запись для вашего домена:

  • Тип: MX
  • Имя: @ (корневой домен)
  • Приоритет: 10
  • Значение: mail.yourdomain.com
  • TTL: Auto

Добавление SPF-записи (рекомендуется)

SPF-запись поможет защитить ваш домен от подделки и повысит доставляемость писем:

  • Тип: TXT
  • Имя: @
  • Содержимое: v=spf1 ip4:YOUR_SERVER_IP mx ~all
  • TTL: Auto

Не забудьте заменить YOUR_SERVER_IP на фактический IP-адрес вашего сервера.

Проверка DNS-записей

После внесения изменений подождите несколько минут для обновления DNS-записей. Затем проверьте их с помощью командной строки:

dig MX yourdomain.com
dig A mail.yourdomain.com

Вы должны увидеть созданные вами записи в ответе.

Примечание: Распространение DNS-записей может занять до 24 часов, но обычно происходит в течение нескольких минут.

Автоматическая установка

Для упрощения процесса настройки catchall почты мы создали автоматический установочный скрипт, который выполнит все необходимые шаги.

Скачивание скрипта

Подключитесь к своему серверу и скачайте скрипт установки:

cd ~
wget -O catchall-installer.sh https://catchallmail.ru/download/catchall-installer.sh

Или создайте файл и вставьте в него код скрипта из раздела ниже:

nano catchall-installer.sh

Сделайте скрипт исполняемым

chmod +x catchall-installer.sh

Запустите скрипт

sudo ./catchall-installer.sh

Следуйте инструкциям скрипта. Вам потребуется ввести:

  • Ваш домен (например, yourdomain.com)
  • Имя пользователя для catchall (по умолчанию: catchall)
  • Пароль для пользователя

Проверка установки

После завершения установки проверьте логи на наличие ошибок:

sudo tail -f /var/log/mail.log

Проверьте, что все службы запущены и работают корректно:

sudo systemctl status postfix
sudo systemctl status dovecot

Скрипт автоматической установки

Копируйте следующий код в файл catchall-installer.sh:

#!/bin/bash

# Скрипт для настройки catchall почты на Ubuntu 20.04 для GSA/Xrumer
# Автор: Claude
# Дата: 30 апреля 2025

# Цвета для вывода
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color

# Функция для вывода статуса
print_status() {
    echo -e "${GREEN}[+] $1${NC}"
}

print_error() {
    echo -e "${RED}[!] $1${NC}"
}

print_warning() {
    echo -e "${YELLOW}[*] $1${NC}"
}

# Проверка прав суперпользователя
if [ "$EUID" -ne 0 ]; then
    print_error "Запустите скрипт с правами суперпользователя (sudo)!"
    exit 1
fi

# Проверка наличия Ubuntu 20.04
if [[ $(lsb_release -rs) != "20.04" ]]; then
    print_warning "Скрипт разработан для Ubuntu 20.04. Ваша версия: $(lsb_release -rs)"
    read -p "Продолжить установку? (y/n): " choice
    if [[ "$choice" != "y" && "$choice" != "Y" ]]; then
        exit 1
    fi
fi

# Запрос домена и пароля
read -p "Введите ваш домен (например, example.com): " DOMAIN
read -p "Введите имя пользователя для catchall (по умолчанию: catchall): " CATCHALL_USER
CATCHALL_USER=${CATCHALL_USER:-catchall}
read -s -p "Введите пароль для пользователя $CATCHALL_USER: " CATCHALL_PASSWORD
echo ""
read -s -p "Повторите пароль: " CATCHALL_PASSWORD_CONFIRM
echo ""

# Проверка паролей
if [[ "$CATCHALL_PASSWORD" != "$CATCHALL_PASSWORD_CONFIRM" ]]; then
    print_error "Пароли не совпадают!"
    exit 1
fi

# Функция для добавления пользователя
add_user() {
    if id "$CATCHALL_USER" &>/dev/null; then
        print_warning "Пользователь $CATCHALL_USER уже существует"
    else
        print_status "Создание пользователя $CATCHALL_USER"
        useradd -m -s /bin/bash "$CATCHALL_USER"
        echo "$CATCHALL_USER:$CATCHALL_PASSWORD" | chpasswd
    fi
}

# Обновление системы
update_system() {
    print_status "Обновление списка пакетов"
    apt update
    
    print_status "Установка необходимых инструментов"
    apt install -y net-tools wget curl nano ssl-cert
}

# Установка и настройка Postfix
install_postfix() {
    print_status "Установка Postfix"
    
    # Предварительная настройка для автоматической установки
    debconf-set-selections <<< "postfix postfix/mailname string mail.$DOMAIN"
    debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
    
    apt install -y postfix
    
    print_status "Настройка Postfix для catchall почты"
    
    # Создание резервной копии конфигурации
    cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
    
    # Настройка конфигурации Postfix
    cat > /etc/postfix/main.cf < /etc/postfix/virtual
    postmap /etc/postfix/virtual
    
    # Перезапуск Postfix
    systemctl restart postfix
}

# Установка и настройка Dovecot
install_dovecot() {
    print_status "Установка Dovecot"
    apt install -y dovecot-core dovecot-imapd dovecot-pop3d
    
    print_status "Настройка Dovecot"
    
    # Создание резервных копий конфигурации
    cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bak
    cp /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.bak
    cp /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/conf.d/10-auth.conf.bak
    cp /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf.bak
    
    # Настройка основного конфига Dovecot
    cat > /etc/dovecot/dovecot.conf < /etc/dovecot/conf.d/10-master.conf < /dev/null; then
        ss -tulpn | grep -E ':110|:143|:993|:995|:25'
    else
        netstat -tulpn | grep -E ':110|:143|:993|:995|:25'
    fi
}

# Настройка брандмауэра (если он используется)
configure_firewall() {
    if command -v ufw &> /dev/null && ufw status | grep -q "active"; then
        print_status "Настройка UFW для почтовых портов"
        ufw allow 25/tcp   # SMTP
        ufw allow 110/tcp  # POP3
        ufw allow 143/tcp  # IMAP
        ufw allow 993/tcp  # IMAPS
        ufw allow 995/tcp  # POP3S
        print_status "Правила UFW добавлены"
    else
        print_warning "UFW не активен или не установлен. Пропускаем настройку брандмауэра."
    fi
}

# Отправка тестового письма
send_test_email() {
    if command -v mail &> /dev/null; then
        print_status "Отправка тестового письма"
        echo "Это тестовое письмо для проверки catchall" | mail -s "Тестовое письмо catchall" test@$DOMAIN
        print_status "Тестовое письмо отправлено на test@$DOMAIN"
    else
        print_warning "Утилита mail не установлена. Устанавливаем..."
        apt install -y mailutils
        echo "Это тестовое письмо для проверки catchall" | mail -s "Тестовое письмо catchall" test@$DOMAIN
        print_status "Тестовое письмо отправлено на test@$DOMAIN"
    fi
}

# Главная функция установки
main() {
    print_status "Начало установки catchall почты для $DOMAIN"
    
    update_system
    add_user
    install_postfix
    install_dovecot
    create_maildir
    configure_firewall
    check_services
    check_ports
    send_test_email
    
    print_status "==============================================="
    print_status "Установка и настройка catchall почты завершена!"
    print_status "==============================================="
    print_status "Данные для подключения:"
    print_status "Домен: $DOMAIN"
    print_status "Пользователь: $CATCHALL_USER"
    print_status "POP3: mail.$DOMAIN:110"
    print_status "IMAP: mail.$DOMAIN:143"
    print_status "Безопасное подключение: Доступно на портах 993 (IMAPS) и 995 (POP3S)"
    print_status "==============================================="
    print_status "Проверьте логи на наличие ошибок:"
    print_status "sudo tail -f /var/log/mail.log"
    print_status "==============================================="
}

# Запуск основной функции
main

Настройка Xrumer

После успешной настройки catchall почты, вы можете использовать её в Xrumer для регистрации на форумах и других сайтах.

Добавление почтового ящика в Xrumer

Откройте Xrumer и перейдите в раздел "Настройки" → "Почтовые ящики" → "Добавить".

Указание параметров подключения

Заполните форму следующими данными:

  • Протокол: Выберите POP3
  • Сервер: mail.yourdomain.com
  • Порт: 110 (или 995 для SSL)
  • Имя пользователя: catchall
  • Пароль: Ваш пароль
  • SSL: По желанию

Настройка адресов для регистрации

В Xrumer, в разделе "База почтовых адресов", добавьте шаблоны адресов:

random_name@yourdomain.com
username[1-999]@yourdomain.com
name.surname@yourdomain.com

Все письма, отправленные на эти адреса, будут приходить в ваш catchall ящик.

Совет: Периодически проверяйте почту вручную, особенно если Xrumer не может автоматически обработать некоторые подтверждения регистрации.

Настройка GSA

GSA Search Engine Ranker также может использовать ваш catchall почтовый ящик для регистрации на площадках.

Добавление почтового аккаунта в GSA

Откройте GSA Search Engine Ranker и перейдите в "Tools" → "Options" → "Email Verification".

Настройка POP3 доступа

Нажмите на кнопку "Add" и введите следующие данные:

  • Email: catchall@yourdomain.com (или любой другой адрес на вашем домене)
  • Server Type: POP3
  • Server: mail.yourdomain.com
  • Port: 110 (или 995 для SSL)
  • SSL: По желанию
  • Username: catchall
  • Password: Ваш пароль

Настройка генерации адресов

В настройках GSA, в разделе "Email Generator", добавьте ваш домен и настройте шаблоны генерации адресов.

Проверьте опцию "Verify mail accounts" для автоматической проверки доступности созданных аккаунтов.

Тестирование проверки почты

Запустите тестовую проверку через "Tools" → "Test Email Verification" и убедитесь, что GSA может успешно подключиться к вашему почтовому серверу.

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

Устранение проблем

Возможно, вы столкнетесь с некоторыми проблемами при настройке или использовании catchall почты. Вот решения для наиболее распространенных случаев:

Не приходят письма

  • Проверьте логи Postfix: sudo tail -f /var/log/mail.log
  • Проверьте DNS-записи: Убедитесь, что MX-запись правильно настроена и указывает на ваш сервер
  • Проверьте файрвол: Убедитесь, что порт 25 открыт для входящих соединений
  • Проверьте спам-фильтры: Некоторые ISP блокируют порт 25

Проблемы с подключением по POP3/IMAP

  • Проверьте логи Dovecot: sudo tail -f /var/log/dovecot.log
  • Проверьте права доступа: ls -la /home/catchall/Maildir
  • Проверьте настройки SSL/TLS: Некоторые клиенты требуют особых настроек для SSL

Ошибки аутентификации

  • Сбросьте пароль: sudo passwd catchall
  • Проверьте формат логина: Используйте полное имя пользователя (например, catchall@yourdomain.com)

Письма отправляются, но не доставляются

  • Проверьте SPF-записи: Неправильные SPF-записи могут приводить к отклонению писем
  • Проверьте репутацию IP: Ваш IP может быть в черных списках
  • Настройте DKIM: Добавление DKIM может улучшить доставляемость

Медленная работа или высокая нагрузка

  • Проверьте ресурсы сервера: top или htop
  • Настройте ограничения Postfix: Измените параметры в /etc/postfix/main.cf
  • Оптимизируйте Dovecot: Настройте кэширование и лимиты соединений

Совет: Периодически делайте резервные копии конфигурации и данных почтового сервера. Это поможет быстро восстановить работу в случае сбоев.