Электронная почта

Swaks - консольная утилита для тестирования и отладки SMTP-серверов. Позволяет отправлять тестовые письма, проверять работу почтовых сервисов и диагностировать проблемы.

  • Отправка тестовых писем через протоколы SMTP/ESMTP, LMTP
  • Поддержка шифрования STARTTLS,SSL/TLS
  • Аутентификация:LOGIN,PLAIN, CRAM-MD5
  • Работа с различными типами соединений: IPv4/IPv6, UNIX-сокеты
  • Поддержка SMTP-расширений: XCLIENT (имитация клиента),PROXY (проксирование),PRDR (построчная доставка)
  • Гибкие настройки через:
    • Аргументы командной строки
    • Переменные среды
    • Конфигурационные файлы
  • Подробное логирование SMTP-сессий
swaks --server smtp.example.com \
      --tls \
      --port 465 \
      --ehlo test-EHLO-HEADER.ru \
      --auth PLAIN \
      --auth-user sender@example.com \
      --auth-password 'password123' \
      --to user@example.com \
      --from sender@example.com \
      --h-From: '"Test User"<test@testdomain.ru>' \
      --header "Subject: HTML Email Test" \
      --header-X-Test "test email" \
      --h-Subject: 'test swaks'
      --header "Content-Type: text/html" \
      --body "<html><body><h1>Hello, World!</h1><p>This is a test HTML email.</p></body></html>" \
      --attach /path/to/image.jpg \
      --attach-name picture.jpg \
      --attach-type image/jpeg \
      --attach-encoding base64 \
      --quit-after DATA \
      --hide-password \
      --hide-rcpt
Параметр Описание
–from Адрес отправителя письма
–to Адрес получателя письма
–server Адрес SMTP сервера для отправки
–port Порт SMTP сервера (обычно 25, 465 или 587)
–auth Тип аутентификации (например, LOGIN, PLAIN)
–auth-user Имя пользователя для аутентификации
–auth-password Пароль для аутентификации
–tls Использовать TLS для защищённого соединения
–header Установить произвольный заголовок письма
–body Установить текст тела письма
–attach Прикрепить файл к письму
–attach-type MIME-тип вложенного файла
–attach-name Имя вложения, которое будет видно в письме
–attach-encoding Указать кодировку вложения (например, base64)
–ehlo Установить своё имя клиента для команды EHLO
–timeout Установить таймаут ожидания ответа от сервера
–quit-after Остановить выполнение после указанной SMTP-команды (EHLO, MAIL, RCPT, DATA)
–hide-password Скрыть пароль в выводе для безопасности
–hide-rcpt Скрыть адреса получателей в выводе
swaks --server smtp.example.com \
      --ehlo mytestmachine.local \
      --tls \
      --port 25 \
      --quit-after EHLO
  • Проверка работоспособности SMTP-серверов
  • Диагностика проблем с отправкой почты
  • Тестирование антиспам-фильтров
  • Автоматизация в скриптах мониторинга
  • Отладка почтовых рассылок

Утилита особенно полезна для:

  • Администраторов почтовых серверов (Postfix, Exim, Sendmail)
  • Разработчиков email-решений
  • Специалистов по информационной безопасности
swaks --from sender@testdomain.ru \
      --h-From: '"Test User"<test@testdomain.ru>' \
      --to recipient@mydomain.ru \
      --server smtp.myserver.ru \ 
      --ehlo test-EHLO-HEADER.ru \
      --header-X-Test "test email" \
      --h-Subject: 'test swaks'
КомандаОписание
sudo mutt -f /var/spool/mail/www-data вызвать mutt
  1. Входим в режим просмотра списка сообщений
  2. Выбераем режим массового удаления D
  3. Вводим регулярное выражение ~s.*
  4. Выходим q и подтверждаем удаление всех сообщений

DNS записи

SPF

spf2.0/mfrom,pra +mx +ip4:185.221.198.145 -all
v=spf1 mx a:go00.ru ip4:185.221.198.145   -all
v=spf1 mx a:mts.mydomain.ru a:sprint.mydomain.ru    -all