Электронная почта
Отправка почты по SMTP
Swaks (Swiss Army Knife for SMTP)
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 | Скрыть адреса получателей в выводе |
📧 Пример для проверки сервера без отправки письма (только установление соединения и EHLO)
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'
Mutt
Команда | Описание |
---|---|
sudo mutt -f /var/spool/mail/www-data | вызвать mutt |
Удалить все сообщения
- Входим в режим просмотра списка сообщений
- Выбераем режим массового удаления D
- Вводим регулярное выражение ~s.*
- Выходим 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