Это команда swaks, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
swaks - Swiss Army Knife SMTP, универсальный тестер транзакций smtp
ОПИСАНИЕ
Основная цель проекта swaks - создать гибкий SMTP-тест с поддержкой сценариев и транзакций.
инструмент. Он обрабатывает функции и расширения SMTP, такие как TLS, аутентификация и
конвейерная обработка; несколько версий протокола SMTP, включая SMTP, ESMTP и LMTP; и
несколько транспортных методов, включая сокеты домена unix, сокеты интернет-домена и
трубы к порожденным процессам. Параметры могут быть указаны в переменных среды,
файлы конфигурации и командная строка, обеспечивающая максимальную настраиваемость и простоту использования
для операторов и скриптеров.
БЫСТРО Начать игру
Отправьте стандартное тестовое электронное письмо по адресу [электронная почта защищена] на 25-м порту test-server.example.net:
сваки - к [электронная почта защищена] --server test-server.example.net
Отправьте стандартное тестовое электронное письмо, требующее аутентификации CRAM-MD5 как пользователя [электронная почта защищена].
Заголовок «X-Test» будет добавлен в тело письма. Пароль аутентификации будет
запрошено.
сваки - к [электронная почта защищена] --из [электронная почта защищена] --auth CRAM-MD5 --auth-пользователь [электронная почта защищена] --header-X-Test "тестовое письмо"
Протестируйте антивирусный сканер с помощью EICAR во вложении. Не показывать часть сообщения DATA:
свакс -т [электронная почта защищена] --attach - --server test-server.example.com --suppress-data
Протестируйте сканер спама с помощью GTUBE в теле письма, перенаправленного через записи MX для
пример.com:
сваки - к [электронная почта защищена] --body / путь / к / gtube / файлу
Отправьте стандартное тестовое электронное письмо по адресу [электронная почта защищена] используя протокол LMTP через UNIX
файл сокета домена
сваки - к [электронная почта защищена] --socket /var/lda.sock --протокол LMTP
Сообщите обо всех получателях в текстовом файле, которые невозможно проверить на тестовом сервере:
для E в `cat / path / to / email / file`
do
swaks --to $ E --server test-server.example.com --quit-after RCPT --hide-all
[$? -ne 0] && echo $ E
сделанный
СРОКИ И КОНВЕНЦИИ
Этот документ пытается быть последовательным и конкретным в использовании следующих терминов, чтобы
уменьшить путаницу.
сделка
Транзакция - это открытие соединения через транспорт к цели и использование
протокол обмена сообщениями для попытки доставки сообщения.
цель
Цель транзакции - это то, к чему подключается swaks. Этот общий термин
используется в документации, потому что большинство других терминов неправильно подразумевают что-то
об используемом транспорте.
Транспорт
Транспорт - это базовый метод, используемый для подключения к цели.
протокол
Протокол - это язык приложения, используемый для связи с целью. Этот
документ использует SMTP для общего описания всех трех поддерживаемых протоколов, если только он
заявляет, что он говорит о конкретном протоколе «SMTP» и исключает другие.
Сообщение
Протоколы SMTP существуют для передачи сообщений, набора байтов в согласованном формате.
у которого есть отправитель и получатель.
Конверт
Конверт сообщения содержит «истинного» отправителя и получателя сообщения. Оно может
также называться его составными частями: отправитель конверта и получатель конверта. это
Важно отметить, что конверт сообщения не обязательно должен совпадать с адресами «Кому:» и «От»:
заголовки.
ДАННЫЕ
Часть DATA транзакции SMTP - это фактическое сообщение, которое
перевезен. Он состоит как из заголовков сообщения, так и из его тела. ДАННЫЕ и тело
иногда используются как синонимы, но в этом
документа.
Заголовки
Заголовки сообщения определяются как все строки в разделе DATA сообщения перед
первая пустая строка. Они содержат информацию об электронном письме, которое будет отображаться
получателю, например Кому :, От:, Тема: и т. д. В этом документе заголовки будут
всегда следует писать с заглавной буквы и в конце двоеточие.
Тело
Тело сообщения - это часть раздела ДАННЫЕ, следующая за первой пустой строкой.
ВАРИАНТ ОБРАБОТКА
Чтобы предотвратить возможную путаницу в этом документе, флаг для сваков всегда обозначается как
опция". Если опция принимает дополнительные данные, эти дополнительные данные называются
аргумент в пользу варианта. Например, "--from [электронная почта защищена]"может быть предоставлено
swaks в командной строке с параметром "--from", а[электронная почта защищена]" существование
- из аргумента.
Варианты для сваков можно дать тремя способами. Их можно указать в конфигурации
файл, в переменных среды и в командной строке. В зависимости от конкретного варианта
и независимо от того, дан ему аргумент или нет, swaks может запросить у пользователя аргумент.
Когда swaks оценивает свои параметры, он сначала ищет файл конфигурации (либо в
расположение по умолчанию или указанное с помощью --config). Затем он оценивает любые варианты в
переменные среды. Наконец, он оценивает параметры командной строки. В каждом раунде
обработки, любые ранее установленные параметры будут отменены. Дополнительно любой вариант может быть
с префиксом «no-», чтобы сваки забывали, что переменная была установлена ранее.
Эта возможность необходима, потому что многие параметры относятся к определенному, но без аргумента.
иначе, чем не определено.
Точный механизм и формат использования каждого из типов указаны ниже.
КОНФИГУРАЦИОННЫЙ ФАЙЛ
Файл конфигурации можно использовать для установки часто используемых или необычно подробных параметров.
По умолчанию swaks ищет $ SWAKS_HOME / .swaksrc, $ HOME / .swaksrc и
$ LOGDIR / .swaksrc. Если один из них существует (и --config не использовался)
этот файл используется как файл конфигурации.
Кроме того, файл конфигурации в расположении не по умолчанию можно указать с помощью
--config. Если он установлен и не указан аргумент, swaks не будет использовать никаких
файл конфигурации, включая любой файл по умолчанию. Если --config указывает на читаемый
файл, он используется в качестве файла конфигурации, отменяя любые значения по умолчанию, которые могут существовать. Если
он указывает на нечитаемый файл, и будет показана ошибка, и swaks завершится.
Набор «переносимых» значений по умолчанию также можно создать, добавив параметры в конец
файл программы swaks. При распределении последняя строка сваков должна быть «__END__». Любой
строки, добавленные после __END__, будут рассматриваться как содержимое файла конфигурации.
Это позволяет автоматически копировать набор пользовательских настроек с сервера на сервер.
в одном файле.
Если присутствующие файлы конфигурации не были отключены явным образом, __END__
config читается всегда. Только один другой файл конфигурации будет когда-либо использоваться для одного
вызов сваков, даже если указано несколько файлов конфигурации. Указание
параметр --config без аргументов отключает обработку как __END__
config и любые актуальные файлы конфигурации.
В файле конфигурации строки, начинающиеся с решетки (#), игнорируются. Все остальные строки
Предполагается, что это опция swaks, при этом дефис в начале или тире необязательны.
Все, что находится после первого пробела в строке опции, считается аргументом опции.
и не обрабатывается оболочкой. Поэтому цитирование обычно не требуется и будет
входит буквально в аргумент. Вот пример содержания
конфигурационный файл:
# всегда использовать этого отправителя, независимо от того, сервер или вошедший в систему пользователь
--из [электронная почта защищена]
# Я предпочитаю, чтобы мои тестовые письма имели красивый заголовок from. Примечание
# отсутствие тире на опции и отсутствие кавычек вокруг
# весь аргумент.
h-From: "Пример Фреда"[электронная почта защищена]>
ПЕРЕМЕННЫЕ ОКРУЖАЮЩЕЙ СРЕДЫ
Параметры могут быть предоставлены через переменные среды. Переменные имеют вид
$ SWAKS_OPT_name, где name - это имя опции, которая будет указана в
командная строка. Поскольку тире не допускаются в именах переменных среды в большинстве
оболочки unix-ish, не следует использовать начальные тире и любые тире внутри параметра
имя следует заменить подчеркиванием. Следующее создаст такие же параметры
показано в примере файла конфигурации:
$ SWAKS_OPT_from = '[электронная почта защищена]'
$ SWAKS_OPT_h_From = '"Пример Фреда"[электронная почта защищена]>'
Установка пустого значения переменной аналогична ее указанию в командной строке.
без аргументов. Например, установка SWAKS_OPT_server = "" приведет к тому, что сваки будут
запрашивать использование сервера, к которому следует подключаться при каждом вызове.
Помимо установки эквивалента параметров командной строки, можно установить SWAKS_HOME
в каталог, содержащий используемый по умолчанию .swaksrc.
ОПЦИИ КОМАНДНОЙ СТРОКИ
Последний метод предоставления параметров swaks - через командную строку. Варианты
вести себя в соответствии с большинством программ командной строки unix-ish. Множество вариантов
имеют как краткую, так и полную форму (например, -s и --server). Условно коротко
параметры указываются с помощью одного тире, а длинные параметры указываются с помощью двойного
бросаться. Это всего лишь соглашение, и любой префикс будет работать с любым типом.
Ниже показан пример, показанный в файле конфигурации и среде.
переменные разделы:
$ swaks - от [электронная почта защищена] --h-From: '"Пример Фреда"[электронная почта защищена]>'
ТРАНСПОРТ
swaks может подключаться к цели через каналы unix ("каналы"), сокеты домена unix ("unix
сокеты ») или сокеты интернет-домена (« сетевые сокеты »). Подключение через сетевые сокеты.
- поведение по умолчанию. Из-за уникального характера используемого транспорта каждый комплект
параметры в следующем разделе являются взаимоисключающими. Указание более чем одного из
--server, --pipe или --socket приведет к ошибке. Смешивание других вариантов между
Типы транспорта приведут к игнорированию только нерелевантных параметров. Ниже приводится
краткое описание каждого вида транспорта и специфических для него опций
вид транспорта.
СЕТЕВЫЕ РОЗЕТКИ
Этот транспорт пытается доставить сообщение через TCP / IP, стандартный метод для
доставка SMTP. Это транспорт по умолчанию для сваков. Если ни один из --server,
--pipe или --socket, тогда этот транспорт используется и целевой сервер
определяется из домена получателя (подробнее см. --server ниже).
Для этого транспорта требуется модуль IO :: Socket, который является частью стандартного Perl.
распределение. Если этот модуль не загружается, попытка использовать этот транспорт приведет к
приведет к ошибке и завершению программы.
IPv6 поддерживается при наличии модуля IO :: Socket :: INET6.
-s, --server [целевой почтовый сервер [: порт]]
Явно укажите swaks для использования сетевых сокетов и укажите имя хоста или IP-адрес
адрес, к которому нужно подключиться, или запросить, если аргумент не указан. Если эта опция
не указан и не указан другой вариант транспорта, целевой почтовый сервер
определяется из соответствующих записей DNS для домена электронной почты получателя
адреса с помощью модуля Net :: DNS. Если Net :: DNS недоступен, сваки будут
попытаться подключиться к localhost для доставки. Целевой порт может быть дополнительно установлен
здесь. Поддерживаемые форматы для этого включают СЕРВЕР: ПОРТ (поддерживающие имена и IPv4
адреса); [СЕРВЕР]: ПОРТ и СЕРВЕР / ПОРТ (поддерживающие имена, IPv4 и IPv6
адреса). См. Также --copy-routing.
-p, --port [порт]
Укажите, какой TCP-порт на целевом объекте будет использоваться, или запросите, если аргумент не указан.
перечисленные. Аргументом может быть имя службы (полученное с помощью getservbyname(3)) или
номер порта. Порт по умолчанию определяется параметром --protocol. Видеть
--protocol для более подробной информации.
-li, --local-interface [IP или имя хоста [: порт]]
Использовать аргумент в качестве локального интерфейса для исходящего SMTP-соединения или приглашения
пользователь, если не указан аргумент. Аргументом может быть IP-адрес или имя хоста. Дефолт
действие - позволить операционной системе выбрать локальный интерфейс. См. --Server для
дополнительные комментарии к: формату порта.
-lp, --local-port [порт]
Укажите исходящий порт, с которого будет исходить транзакция. Если эта опция
не указано, система выберет временный порт. Обратите внимание, что обычные пользователи
не могу указать некоторые порты.
--copy-routing [домен]
Аргумент интерпретируется как доменная часть адреса электронной почты и используется
чтобы найти целевой сервер, используя ту же логику, которая использовалась бы для поиска
целевой сервер для адреса электронной почты получателя. См. Параметр --to для более подробной информации.
от того, как цель определяется из почтового домена.
-4, -6
Принудительно использовать IPv4 или IPv6.
РОЗЕТКИ UNIX
Этот метод транспорта пытается доставить сообщения через файл сокета домена unix.
Это полезно для тестирования MTA / MDA, которые прослушивают файлы сокетов (например, тестирование
LMTP-доставка Сайрусу). Для этого транспорта требуется модуль IO :: Socket, который является частью
стандартного дистрибутива Perl. Если этот модуль не загружается, попытка использовать
этот транспорт приведет к ошибке и завершению программы.
--socket [/ путь / к / сокету / файлу]
Эта опция принимает в качестве аргумента файл сокета домена unix. Если swaks не может
чтобы открыть этот сокет, он выдаст сообщение об ошибке и выйдет.
ТРУБЫ
Этот транспорт пытается создать процесс и связаться с ним по каналам. В
Созданная программа должна быть подготовлена к работе в качестве почтового сервера через STDIN / STDOUT. Любой
MTA, предназначенный для работы из inet / xinet, должен это поддерживать. Кроме того, некоторые MTA
предоставить режимы тестирования, с которыми можно связываться через STDIN / STDOUT. Этот транспорт
можно использовать для автоматизации этого тестирования. Например, если вы реализовали проверку DNSBL
с Exim, и вы хотели убедиться, что он работает, вы можете запустить swaks --pipe
"exim -bh 127.0.0.2" '. В идеальном мире процесс, с которым вы разговариваете, должен вести себя
точно так же, как SMTP-сервер на stdin и stdout. Любую отладку следует отправлять по адресу
stderr, который будет направлен на ваш терминал. В реальном мире сваки могут
обычно обрабатывают некоторую отладку в дочернем стандартном выводе, но нет никаких гарантий относительно того, как
многое он может выдержать.
Для этого транспорта требуется модуль IPC :: Open2, который является частью стандартного Perl.
распределение. Если этот модуль не загружается, попытка использовать этот транспорт приведет к
приведет к ошибке и завершению программы.
--pipe [/ путь / к / команде и аргументы]
Укажите имя и аргументы процесса. сваки попытаются появиться
процесс и общаться с ним по каналам. Если аргумент не
исполняемый файл swaks отобразит ошибку и завершит работу.
ПРОТОКОЛ ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Эти параметры относятся к уровню протокола.
-t, --to [адрес электронной почты [, адрес электронной почты, ...]]
Указывает swaks использовать аргумент (ы) в качестве получателя конверта для электронной почты или запрашивать
получатель, если аргумент не указан. Если указано несколько получателей и
домен получателя необходим для определения маршрутизации домена последнего получателя
при условии используется.
Для этого параметра нет значения по умолчанию. Если ни один из получателей не указан
означает, что пользователю будет предложено ввести его в интерактивном режиме. Единственное исключение из этого
если указано значение --quit-after, которое приведет к тому, что транзакция smtp будет
прекращается до того, как потребуется получатель.
-f, --from [адрес электронной почты]
Используйте аргумент в качестве отправителя конверта для электронной почты или запрашивайте пользователя, если аргумент не указан.
Строка <> может означать нулевого отправителя. Если пользователь не указывает
адрес отправителя используется значение по умолчанию. Доменная часть отправителя по умолчанию - это
наилучшее предположение о полном доменном имени локального хоста. Методика
определение локальной части варьируется. В Windows Win32 :: Имя входа () используется. В unix-
ish платформ, переменная окружения $ LOGNAME используется, если она установлена. В противном случае
getpwuid(3) используется. См. Также --force-getpwuid.
--ehlo, --lhlo, -h, --helo [helo-строка]
Строка для использования в качестве аргумента команды HELO / EHLO / LHLO, или использовать подсказку, если аргумент не указан.
указано. Если этот параметр не используется, лучше всего угадать полное доменное имя.
локального хоста. Если модуль Sys :: Hostname, входящий в базовую
распространение, недоступно, пользователю будет предложено ввести значение HELO. Обратите внимание, что
Было замечено, что Sys :: Hostname не может найти локальное имя хоста в некоторых
обстоятельства. Это имеет тот же эффект, как если бы Sys :: Hostname был недоступен.
-q, --quit-after [точка остановки]
Точка, в которой транзакция должна быть остановлена. Когда запрошенная точка остановки
достигается в транзакции, и при условии, что swaks не дал ошибок до
достигнув его, swaks отправит «QUIT» и попытается полностью закрыть соединение.
Это веские аргументы и заметки об их значении.
ПОДКЛЮЧИТЬ, БАННЕР
Завершите сеанс после получения приветственного баннера от цели.
ПЕРВЫЙ-HELO, ПЕРВЫЙ-EHLO, ПЕРВЫЙ-LHLO
В сеансе STARTTLS (но не tls-on-connect) завершите транзакцию после
первый из двух HELO. В транзакции, отличной от STARTTLS, ведет себя так же, как HELO.
(Смотри ниже).
X-КЛИЕНТ
Выйти после отправки XCLIENT
TLS Завершите транзакцию сразу после согласования TLS. Обратите внимание, что это
происходит в разных местах в зависимости от того, используется ли STARTTLS или tls-on-connect.
использовал. Это всегда завершается после того, как было согласовано TLS,
независимо от того, была ли это попытка.
ПРИВЕТ, ЭХЛО, ЛХЛО
В сеансе STARTTLS или XCLIENT выйдите после второго HELO. В противном случае выйти
после первого и единственного HELO.
AUTH
Выйти после аутентификации. Это всегда завершается после того, как аутентификация
были бы предметом переговоров, независимо от того, предпринимались ли они.
ПОЧТА, ОТ
Выйти после отправки ПОЧТА ОТ:.
РКПТ, ТО
Выйти после отправки RCPT TO :.
--timeout [время]
Используйте аргумент в качестве тайм-аута SMTP-транзакции или запрашивайте пользователя, если аргумент не указан.
Аргумент может быть чистой цифрой, которая будет интерпретироваться как секунды, или может быть
имеют спецификатор s или m (5s = 5 секунд, 3m = 180 секунд). В частном случае 0
означает, что транзакции не отключаются по таймауту. Значение по умолчанию - 30 секунд.
--protocol [протокол]
Укажите, какой протокол использовать в транзакции. Допустимые варианты показаны в
Таблица ниже. В настоящее время основными протоколами являются SMTP, ESMTP и LMTP. Используя
варианты этих типов протоколов можно кратко указать порты по умолчанию, независимо от того,
должна быть предпринята попытка аутентификации, и тип TLS-соединения, который должен быть
попытка. Протокол по умолчанию - ESMTP. В этой таблице показаны доступные
аргументы для --protocol и параметры, которые каждый устанавливает как побочный эффект:
SMTP
HELO, "-p 25"
ССМТП
EHLO-> HELO, "-tlsc -p 465"
ССМТПА
EHLO-> HELO, "-a -tlsc -p 465"
SMTPS
HELO, "-tlsc -p 465"
ESMTP
EHLO-> HELO, "-p 25"
ЭСМТПА
EHLO-> HELO, "-a -p 25"
ЕСМТПС
EHLO-> HELO, "-tls -p 25"
ЕСМТПСА
EHLO-> HELO, "-a -tls -p 25"
ЛМТП
ЛХЛО, "-п 24"
ЛМТПА
ЛХЛО, "-а -п 24"
ЛМТПС
LHLO, "-tls -p 24"
ЛМТПСА
LHLO, "-a -tls -p 24"
--трубопровод
Если удаленный сервер поддерживает это, попробуйте SMTP PIPELINING (RFC 2920). Это
младший вариант, если у вас возникнут проблемы с ним, сообщите об этом автору.
Потенциальные проблемные области включают серверы, принимающие ДАННЫЕ, даже если не было действительных
получатели (в этом случае swaks должен отправлять пустое тело, а не QUIT) и возникновение взаимоблокировок
отправляя пакеты за пределами размера окна TCP.
--force-getpwuid
Скажите swaks, чтобы вместо этого использовался метод getpwuid для поиска локальной части отправителя по умолчанию
сначала попробовать $ LOGNAME.
TLS / ENCRYPTION / ШИФРОВАНИЕ
Это параметры, связанные с шифрованием транзакции. Они были протестированы и
подтверждено, что работает со всеми тремя способами транспортировки. Модуль Net :: SSLeay используется для
выполнять шифрование по запросу. Если этот модуль не загружается, сваки тоже будут
игнорировать запрос TLS или ошибку, в зависимости от того, был ли запрос необязательным.
STARTTLS определяется как расширение в протоколе ESMTP и будет недоступен, если
--protocol установлен на вариант smtp. Потому что это не определено в протоколе
Сама по себе --tls-on-connect доступна для любого типа протокола, если его поддерживает цель.
Локальный сертификат не требуется для согласования TLS-соединения. Однако некоторые
серверы используют проверку сертификата клиента, чтобы убедиться, что клиенту разрешено подключение.
swaks можно указать для использования определенного локального сертификата с помощью параметра --tls-cert
и параметры --tls-key.
-TLS
Требовать подключения для использования STARTTLS. Выйти, если TLS недоступен по какой-либо причине (не
разрекламировано, переговоры не удались и т. д.).
-tlso, --tls-необязательно
Попытайтесь использовать STARTTLS, если доступно, продолжите обычную транзакцию, если TLS был
невозможно вести переговоры по какой-либо причине. Обратите внимание, что это полу-бесполезный вариант, так как
в настоящее время реализовано, потому что после сбоя согласования состояние соединения
неизвестно. В некоторых случаях, например, при несовпадении версий, соединение следует оставить как
простой текст. В других случаях, например, при неудачной проверке, серверная сторона может подумать, что
должен продолжать говорить TLS, пока клиент думает, что это открытый текст. Может быть
попытаться добавить более детальное определение состояния в будущем, но пока просто имейте в виду
что странные вещи могут произойти с этой опцией, если будет предпринята попытка согласования TLS и
не удается.
-tlsos, --tls-необязательный-строгий
Попытайтесь использовать STARTTLS, если возможно. Продолжить транзакцию, если TLS согласован
успешно или STARTTLS не рекламируется. Если STARTTLS объявляется, но TLS
переговоры терпят неудачу, рассматриваются как ошибка и прерывают транзакцию. В связи с оговоркой, отмеченной
выше, это гораздо более разумный вариант, чем --tls-optional.
--tlsc, --tls-при подключении
Инициируйте соединение TLS сразу после подключения. Следуя общему соглашению, если
эта опция указана, порт по умолчанию изменяется с 25 на 465, хотя это может
по-прежнему можно переопределить с помощью параметра --port.
-tlsp, --tls-protocol СПЕЦИФИКАЦИЯ
Укажите, какие протоколы использовать (или не использовать) при согласовании TLS. Во время этого
записи доступны протоколы sslv2, sslv3, tlsv1, tlsv1_1 и tlsv1_2. В
доступность этих протоколов зависит от вашей базовой библиотеки OpenSSL, поэтому
не все из них могут быть доступны. Список доступных протоколов показан в
вывод --dump (при условии, что TLS вообще доступен).
Строка спецификации представляет собой список протоколов, разделенных запятыми, которые можно использовать или
не используется. Например, tlsv1, tlsv1_1 будет успешным, только если один из этих двух
Протоколы доступны как на клиенте, так и на сервере. Наоборот,
no_sslv2, no_sslv3 будет пытаться согласовать любой протокол, кроме sslv2 и sslv3.
Две формы спецификации нельзя смешивать.
-tls-шифр CIPHER_STRING
Аргумент этой опции передается в базовую библиотеку OpenSSL для установки списка.
допустимых шифров, которые будут использоваться для соединения. Формат этой строки:
непрозрачен для сваков и определяется в
http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT. Краткий пример
будет --tls-cipher '3DES: + RSA'.
--tls-проверить
По умолчанию swaks не проверяет сертификат. Установка --tls-verify будет
заставить swaks попытаться проверить сертификат сервера. Если этот параметр установлен и
сертификат сервера не поддается проверке (либо с использованием системного центра сертификации по умолчанию
информации или настраиваемой информации CA (см. --tls-ca-path)) Согласование TLS не будет
добиться успеха.
--tls-ca-path [/ путь / к / CAfile | / путь / к / CAdir /]
По умолчанию swaks будет использовать информацию CA по умолчанию базовой библиотеки OpenSSL для
проверка сертификатов сервера. --tls-ca-path позволяет указать альтернативный
место расположения. Видеть http://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html для
подробные сведения о содержимом файла / каталога.
--tls-cert / путь / к / файлу
Укажите путь к файлу, содержащему файлы локальных сертификатов, которые следует использовать, если TLS
договорились. Аргумент пути к файлу является обязательным. В настоящее время реализовано
сертификат в файле должен быть в формате PEM. Свяжитесь с автором, если есть
насущная потребность в ASN1. Если этот параметр установлен, также требуется --tls-key.
--tls-key / путь / к / файлу
Укажите путь к файлу, содержащему локальные ключи закрытых ключей, которые следует использовать, если TLS
договорились. Аргумент пути к файлу является обязательным. В настоящее время реализовано
сертификат в файле должен быть в формате PEM. Свяжитесь с автором, если есть
насущная потребность в ASN1. Если этот параметр установлен, также требуется --tls-cert.
--tls-get-peer-cert [/ путь / к / файлу]
Получите копию сертификата узла TLS. Если аргумент не указан, он будет
отображается в STDOUT. Если указан аргумент, предполагается, что это путь к файловой системе
указав, где должен быть написан сертификат. После этого сохраненный сертификат можно
исследованы с использованием стандартных инструментов, таких как команда openssl. Если указан файл, его
содержимое будет перезаписано.
АВТОРИЗАЦИЯ
swaks попытается пройти аутентификацию на целевом почтовом сервере, если будет получено соответствующее указание. Этот
в разделе подробно описаны доступные типы аутентификации, требования, параметры и их
взаимодействия и другие тонкости использования аутентификации. Поскольку аутентификация
определен как расширение в протоколе ESMTP, он будет недоступен, если установлен --protocol
к разновидности smtp.
Все методы аутентификации требуют кодировки base64. Если модуль Perl MIME :: Base64
загружаемый swaks пытается использовать его для выполнения этих кодировок. Если MIME :: Base64 не является
доступные сваки будут использовать собственные встроенные процедуры base64. Они медленнее, чем
Подпрограммы MIME :: Base64 и менее проверены, хотя они были тщательно протестированы. С использованием
рекомендуется использовать модуль MIME :: Base64.
Если требуется аутентификация (см. Ниже варианты, когда это необходимо, а когда нет) и
требования не выполняются для доступного типа аутентификации, swaks отображает ошибку
и выходит. Это может произойти двумя способами, включая принуждение сваков к использованию определенного
тип аутентификации, который нельзя использовать из-за отсутствия требований или позволяющий
используйте любой тип аутентификации, но сервер рекламирует только те типы, которые сваки не поддерживают. В
в первом случае ошибки устраняются во время обработки опциона, поскольку он заранее знает об этом.
не сможет пройти аутентификацию. В последнем случае сваки выдадут ошибку на
этап аутентификации SMTP-транзакции, так как swaks не будет знать, что он
не смогут пройти аутентификацию до этого момента.
Ниже приведены поддерживаемые типы аутентификации, включая любые отдельные примечания и
запросам наших потенциальных клиентов.
Следующие параметры влияют на использование проверки подлинности swaks. Все эти варианты взаимно
Связанный. Например, указание --auth-user подразумевает --auth и --auth-password.
Указание --auth-optional подразумевает --auth-user, --auth-password и т. Д.
-a, --auth [тип-авторизации [, тип-авторизации, ...]]
Требовать сваки для аутентификации. Если аргумент не указан, любые поддерживаемые типы авторизации
объявленные сервером, пробуются до тех пор, пока один из них не завершится успешно или все не завершатся успешно. Если один или несколько
Типы авторизации указываются в качестве аргумента, проверяется каждый, который также поддерживает сервер.
по порядку, пока один не добьется успеха или все не потерпят неудачу. Эта опция требует проверки подлинности сваков,
поэтому, если общие типы аутентификации не найдены или учетные данные не были успешными, swaks отображает
ошибка и выходы.
В следующих таблицах перечислены допустимые типы авторизации.
ВХОД, ОБЫЧНАЯ
Эти базовые типы аутентификации полностью поддерживаются и тестируются и не имеют
дополнительные требования
КРАМ-МД5
Для аутентификатора CRAM-MD5 требуется модуль Digest :: MD5. Полностью протестирован
и считается, что он работает против любого сервера, который его реализует.
ДАЙДЖЕСТ-MD5
Для аутентификатора DIGEST-MD5 (RFC2831) требуется модуль Authen :: SASL. Версия
20100211.0 и ранее использовали Authen :: DigestMD5 с некоторыми ошибками на уровне протокола.
что мешало ему работать с некоторыми серверами. Authen :: ДАЙДЖЕСТ-MD5 SASL
управление намного надежнее.
Реализация DIGEST-MD5 в swaks довольно незрела. В настоящее время он поддерживает
только тип qop "auth", например. Если у вас есть опыт работы с DIGEST-MD5 и
хотел бы помочь swaks лучше поддерживать DIGEST-MD5, пожалуйста, свяжитесь со мной.
Значение "области" протокола DIGEST-MD5 можно установить с помощью параметра --auth-extra "область".
ключевое слово. Если область не указана, будет использоваться разумное значение по умолчанию.
Значения digest-uri протокола DIGEST-MD5 могут быть установлены с помощью параметра --auth-extra.
вариант. Например, вы можете создать значение digest-uri для
"lmtp / mail.example.com / example.com" с параметром "--auth-extra"
dmd5-serv-type = lmtp, dmd5-host = mail.example.com, dmd5-serv-name = example.com ".
Строка "digest-uri-value" и ее компоненты определены в RFC2831. Если ни один из
эти значения даны, будут использоваться разумные значения по умолчанию.
КРАМ-ША1
Для аутентификатора CRAM-SHA1 требуется модуль Digest :: SHA. Этот тип имеет только
был протестирован против нестандартной реализации на сервере Exim и может
поэтому есть некоторые недостатки реализации.
NTLM / SPA / MSN
Для этих аутентификаторов требуется модуль Authen :: NTLM. Обратите внимание, что есть два
модули, использующие пространство имен Authen :: NTLM на CPAN. Реализация Марка Буша
(Authen / NTLM-1.03.tar.gz) - версия, требуемая swaks. Этот тип был
протестирован на Exim, Communigate и Exchange 2007.
В дополнение к стандартному имени пользователя и паролю этот тип аутентификации может
также распознают «домен». Домен можно установить с помощью --auth-extra "домен"
ключевое слово. Обратите внимание, что это никогда не тестировалось с почтовым сервером, который не
игнорировать DOMAIN, так что это может быть реализовано неправильно.
-ao, --auth-optional [тип-авторизации [, тип-авторизации, ...]]
Этот параметр ведет себя идентично --auth, за исключением того, что он запрашивает аутентификацию.
вместо того, чтобы требовать этого. Если общие типы авторизации не найдены или учетные данные отсутствуют
успешно, проверка выполняется так, как если бы аутентификация не запрашивалась.
-aos, --auth-optional-strict [auth-type [, auth-type, ...]]
Эта опция представляет собой компромисс между --auth и --auth-optional. Если нет общего автори-
типы найдены, swaks ведет себя так, как если бы был указан --auth-optional, и продолжает
перевод. Если сваки не могут поддерживать запрошенный тип аутентификации, сервер не
рекламируют любые распространенные типы аутентификации, или, если учетные данные не удаются, swaks ведет себя так, как если бы
--auth использовались и завершаются с ошибкой.
-au, --auth-user [имя пользователя]
Укажите имя пользователя, которое будет использоваться для аутентификации, или запросите его, если нет
предоставляется аргумент. Строка <> может означать пустое имя пользователя.
-ap, --auth-password [пароль]
Укажите пароль, который будет использоваться для аутентификации, или запросите его у пользователя, если нет.
предоставляется аргумент. Строка <> может означать пустой пароль.
-ae, --auth-extra [KEYWORD = значение [, ...]]
Некоторые типы аутентификации позволяют включать дополнительную информацию в
процесс аутентификации. Вместо того, чтобы добавлять новую опцию для каждого укромного уголка
Для каждого аутентификатора опция --auth-extra позволяет предоставить эту информацию.
В следующей таблице перечислены распознанные в настоящее время ключевые слова и аутентификаторы.
которые используют их
царство, домен
Ключевые слова области и домена являются синонимами. Использование любого из них установит "домен"
параметр в NTLM / MSN / SPA и параметр "область" в DIGEST-MD5
dmd5-serv-тип
Ключевое слово dmd5-serv-type используется аутентификатором DIGEST-MD5 и используется в
часть, чтобы построить строку значения digest-uri (см. RFC2831)
dmd5-хост
Ключевое слово dmd5-host используется аутентификатором DIGEST-MD5 и используется в
часть, чтобы построить строку значения digest-uri (см. RFC2831)
dmd5-serv-имя
Ключевое слово dmd5-serv-name используется аутентификатором DIGEST-MD5 и используется в
часть, чтобы построить строку значения digest-uri (см. RFC2831)
-am, --auth-map [auth-alias = auth-type [, ...]]
Предоставляет способ сопоставить альтернативные имена с базовыми типами аутентификации. Полезно для любого
сайты, использующие альтернативные имена для общих типов. Этот функционал фактически используется
внутренне сопоставить типы SPA и MSN с базовым типом NTLM. Командная строка
аргументом для моделирования этого будет «--auth-map SPA = NTLM, MSN = NTLM». Все автори-
перечисленные выше типы являются допустимыми целями для сопоставления, за исключением SPA и MSN.
-apt, --auth-открытый текст
Вместо того, чтобы показывать строки AUTH в кодировке base64 по мере их передачи, переведите их
в обычный текст перед печатью на экране.
-ahp, --auth-hide-password [строка замены]
Если указана эта опция, в любое время читаемый пароль будет напечатан на
терминала (в частности, AUTH PLAIN и AUTH LOGIN) пароль заменяется на
фиктивная строка (или содержимое «замещающей строки», если таковая имеется). Строка-пустышка
будут закодированы в base64 или не будут зависеть от параметра --auth-plaintext.
Обратите внимание, что --auth-hide-password похож на --protect-prompt, но не идентичен ему.
вариант. Первый защищает пароли от отображения в транзакции SMTP.
независимо от того, как они введены. Последний защищает чувствительные струны, когда
пользователь вводит их на терминале, независимо от того, как будет использоваться строка.
X-КЛИЕНТ ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
XCLIENT - это расширение SMTP, представленное проектом Postfix. XCLIENT позволяет
(правильно авторизованный) клиент, чтобы указать серверу использовать альтернативную информацию, такую как IP
адрес или имя хоста для клиента. Это значительно упрощает тестирование почты.
конфигурации сервера. Полная информация о протоколе доступна на сайте
http://www.postfix.org/XCLIENT_README.html.
--xclient-addr [ЗНАЧЕНИЕ]
--xclient-name [ЗНАЧЕНИЕ]
--xclient-port [ЗНАЧЕНИЕ]
--xclient-proto [ЗНАЧЕНИЕ]
--xclient-helo [ЗНАЧЕНИЕ]
--xclient-login [ЗНАЧЕНИЕ]
--xclient-reverse-name [ЗНАЧЕНИЕ]
Эти параметры определяют атрибуты XCLIENT, которые должны быть отправлены на целевой сервер. Если
[VALUE] не предоставляется, swaks предложит и прочитает значение на STDIN. Видеть
http://www.postfix.org/XCLIENT_README.html для официальной документации о том, что
означают атрибуты и их возможные значения, включая специальные "[НЕДОСТУПНО]" и
«[TEMPUNAVAIL]» ценности.
В качестве простого примера, установка "--xclient-name foo.example.com --xclient-addr
192.168.1.1 "приведет к тому, что swaks отправит команду SMTP" XCLIENT NAME = foo.example.com
ADDR = 192.168.1.1 ".
Обратите внимание, что атрибут "REVERSE_NAME", похоже, не отображается в официальном
документация. Это документированная ветка списка рассылки, которую можно просмотреть по адресу
http://comments.gmane.org/gmane.mail.postfix.user/192623.
Эти параметры можно смешивать друг с другом, а также с параметром --xclient.
вариант (см. ниже).
--xclient [XCLIENT_STRING]
Это вариант XCLIENT "свободной формы". Какое бы значение ни было предоставлено для XCLIENT_STRING
будет дословно отправлено в качестве аргумента команды XCLIENT smtp. Например, если
"--xclient 'NAME = ADDR = 192.168.1.1 FOO = bar'", swaks отправит команду SMTP
«XCLIENT NAME = ADDR = 192.168.1.1 FOO = bar». Основное преимущество этого перед более
конкретные параметры, указанные выше, заключаются в том, что здесь нет проверки синтаксиса XCLIENT. Этот
позволяет отправлять неверный XCLIENT на целевой сервер для тестирования. Если нет
XCLIENT_STRING передается в командной строке, swaks запросит и прочитает значение на
СТАНДАРТ.
Опцию --xclient можно свободно смешивать с опциями --xclient- * выше. Если
"--xclient-addr 192.168.0.1 --xclient 'FOO = bar NAME = wind'" присваивается свакам, "XCLIENT
ADDR = 192.168.0.1 FOO = bar NAME = wind "будет отправлен на целевой сервер.
--xclient-необязательный
--xclient-необязательный-строгий
При нормальной работе установка одной из опций --xclient * приведет к успешному
Транзакция XCLIENT, которая должна иметь место для продолжения (то есть XCLIENT должен быть
объявлено, все атрибуты, запрошенные пользователем, должны быть объявлены, а
сервер должен принять запрос XCLIENT swaks). Эти параметры меняют это
поведение. --xclient-optional указывает сваку безоговорочно пройти мимо XCLIENT
этап SMTP-транзакции, независимо от того, была ли она успешной.
--xclient-optional-strict аналогичен, но более детализирован. Строгая версия будет
continue to XCLIENT не был объявлен, но потерпит неудачу, если XCLIENT попытался, но сделал
не получится.
ДАННЫЕ ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Эти параметры относятся к содержимому части DATA транзакции SMTP.
-d, --data [часть данных]
Используйте аргумент как все содержимое DATA или запрашивайте пользователя, если аргумент не указан.
Если указан аргумент «-», данные будут считаны из STDIN. Если любой другой
предоставляется аргумент, который представляет имя открытого файла, содержимое
файл будет использоваться. Любой другой аргумент будет сам по себе для содержимого DATA.
Значение может быть в одной строке с \ n (ascii 0x5c, 0x6e), представляющим, где
должны быть размещены разрывы строк. Будут цитироваться ведущие точки. Закрывающая точка не
требуется, но разрешено. Значение по умолчанию для этого параметра - «Дата:% DATE% \ nДля:
% TO_ADDRESS% \ nОт:% FROM_ADDRESS% \ nSubject: test% DATE% \ nX-Mailer: swaks v $ p_version
jetmore.org/john/code/swaks/\n%NEW_HEADERS%\n%BODY%\n ".
Очень простой анализ токенов выполняется на части DATA. См. --Use-old-data-tokens
для получения подробной информации об односимвольных токенах, помеченных как устаревшие. Следующее
В таблице показаны распознанные токены и их значения замещения:
% FROM_ADDRESS%
Заменил конверт-отправитель. Заменяет устаревший токен% F.
%АДРЕСОВАТЬ%
Заменены конвертом-получателем (-ами). Заменяет устаревший токен% T.
%ДАТА%
Заменено текущим временем в формате, подходящем для включения в Дату:
заголовок. Обратите внимание, что это пытается использовать стандартный модуль Time :: Local для часового пояса.
расчеты. Если этот модуль недоступен, строка даты будет в GMT.
Заменяет устаревший токен% D.
% NEW_HEADERS%
Заменено содержимым параметра --add-header. Если --add-header не
указанный токен просто удаляется. Заменяет устаревший токен% H.
%ТЕЛО%
Заменяется значением, указанным в параметре --body. См. --Body по умолчанию.
Заменяет устаревший токен% H.
--use-old-data-tokens
В предыдущих версиях swaks токены DATA, как описано в параметре --data выше
использовались односимвольные токены (например,% F). Это был не лучший выбор для дефолта
токенов и особенно проблематичен с закодированными, неанглийскими языками, где
эти комбинации символов могут быть обычными. Односимвольные жетоны были
заменены перечисленными выше версиями с немного меньшей подверженностью ошибкам. Сохранение
старые токены и включение этой опции для их активации предназначены для
временная помощь пользователям, у которых уже есть корпус сообщений с использованием старых токенов. В
следует учитывать односимвольные токены и параметр --use-old-data-tokens
устарело и, вероятно, будет удалено в следующем выпуске.
-dab, --dump-как-тело
Если используется --dump-as-body и никакая другая опция не используется для изменения тела по умолчанию
сообщение, тело заменяется выводом, аналогичным выводу того, что
предоставляется --dump. --dump - раздел возможностей начальной программы не отображается, и
раздел "данные" не включен. Кроме того, --dump всегда включает пароли.
По умолчанию --dump-as-body не включает пароли, хотя это можно изменить с помощью
--dump-as-body-shows-password.
-dabsp, --dump-as-body-shows-пароль
Заставить --dump-as-body включать пароли в виде открытого текста. Этот вариант не рекомендуется.
Этот параметр подразумевает --dump-as-body.
--body [тело-спецификация]
Укажите тело письма. По умолчанию установлено «Это тестовая рассылка». Если нет
дается аргумент для --body, предлагает ввести его в интерактивном режиме. Если указан '-',
тело будет прочитано из стандартного ввода. Если предоставляется какой-либо другой текст и текст
представляет собой открываемый файл, содержимое которого используется в качестве тела. Если это
не представляет собой открываемый файл, в качестве тела используется сам текст.
Если сообщение принудительно переведено в формат MIME (см. --Attach), аргумент этой опции
будет включена в незашифрованном виде как первая часть MIME. Его тип содержимого всегда будет
текст / простой.
--attach [спецификация вложения]
Если указан один или несколько параметров --attach, сообщение меняется на
составное / смешанное сообщение MIME. Аргументы для --attach обрабатываются так же, как
--body относительно stdin, содержимого файла и т. д. --attach может быть предоставлено несколько
раз, чтобы создать несколько вложений. По умолчанию каждое вложение прикрепляется как
файл приложения / октетного потока. См. --Attach-type для изменения этого поведения.
Если указано имя файла, кодировка MIME будет включать это имя файла. Видеть
--attach-name для получения дополнительных сведений об именах файлов.
'-' (STDIN) разрешено указывать в качестве аргумента несколько раз (один раз для
--body и несколько раз для --attach). В этом случае один и тот же контент будет
прилагается каждый раз, когда это указано. Это полезно для прикрепления одного и того же контента
с несколькими типами MIME.
--attach-type [тип пантомимы]
По умолчанию содержимое, которое прикрепляется к сообщению с помощью MIME с параметром --attach, является
закодирован как приложение / октет-поток. --attach-type изменяет тип пантомимы для каждого
- присоединить опцию, которая следует за ним. Его можно указывать несколько раз.
--attach-name [имя]
Эта опция устанавливает имя файла, которое будет включено в часть MIME, созданную для
далее - опция прикрепления. Если для этой опции не задан аргумент, имя файла не будет указано.
информация, которая будет включена в следующую часть MIME, даже если сваки могут ее сгенерировать
от имени локального файла.
-ah, --add-header [заголовок]
Эта опция позволяет добавлять заголовки к ДАННЫМ. Если% H присутствует в ДАННЫХ, это
заменяется аргументом этой опции. Если% H отсутствует, аргументом является
вставляется между первыми двумя последовательными символами новой строки в ДАННЫХ (то есть
вставлен в конец существующих заголовков).
Параметр можно указать несколько раз или один раз с несколькими
заголовки, разделенные буквальной строкой '\ n'. Итак, "--add-header 'Foo: bar' --add-header
'Baz: foo' "и" --add-header 'Foo: bar \ nBaz: foo' "в итоге складывают одни и те же два
заголовки.
--header [заголовок и данные], --h-заголовок [данные]
Эти параметры позволяют изменять заголовки, которые уже существуют в ДАННЫХ. '- заголовок
"Subject: foo" 'и' --h-Subject foo 'эквивалентны. Если заголовок еще не
существуют в данных, то этот аргумент ведет себя идентично --add-header. Однако если
заголовок уже существует, он заменяется указанным.
-g Если указано, swaks будет читать значение DATA для почты из STDIN. Это
эквивалентно "--data -". Если в письме есть строка From_, она будет удалена.
(но смотрите параметр -nsf). Полезно для доставки реального сообщения (хранящегося в файлах).
использования примеров сообщений.
--no-data-fixup, -ndf
Эта опция заставляет swaks не обрабатывать DATA-часть электронного письма. Этот
включает замену токена, удаление From_, добавление конечной точки, --body / attachment
включение и любые дополнения заголовка. Эта опция действительно полезна только при использовании с
--data, поскольку внутренняя часть ДАННЫХ по умолчанию использует токены.
--no-strip-from, -nsf
Не удаляйте строку From_ из части DATA, если она есть.
ВЫВОД ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
По умолчанию swaks предоставляет расшифровку своих транзакций вызывающей стороне (STDOUT / STDERR).
Эта стенограмма стремится максимально достоверно представить транзакцию.
хотя он изменяет этот вывод, добавляя информационные префиксы к строкам и
предоставление текстовых версий транзакций TLS
«Информационные префиксы» называются подсказками транзакции. Эти подсказки
изначально состоит из тех линий разметки, которые являются выходом самих сваков, либо
информационные сообщения или сообщения об ошибках, а также те, которые указывают строку фактически отправленных данных или
полученный в сделке. В этой таблице указаны подсказки и их значения:
=== Обозначает информационную строку, генерируемую сваками.
*** Указывает на ошибку, сгенерированную в swaks
-> Указывает ожидаемую строку, отправленную сваками на целевой сервер
~> Обозначает зашифрованную TLS ожидаемую строку, отправленную swaks на целевой сервер
**> Указывает на неожиданную строку, отправленную сваками на целевой сервер
* ~> Указывает на зашифрованную TLS неожиданную строку, отправленную swaks на целевой сервер
> Указывает необработанный фрагмент теста, отправленный swaks на целевой сервер (см. --Show-raw-text).
На этом уровне нет понятия «ожидаемое» или «неожиданное».
<- указывает ожидаемую строку, отправленную целевым сервером в сваки
<~ Обозначает зашифрованную TLS ожидаемую строку, отправленную целевым сервером в сваки
<** Указывает на неожиданную строку, отправленную целевым сервером в swaks
<~ * Указывает на зашифрованную TLS неожиданную строку, отправленную целевым сервером в swaks
<Указывает необработанный фрагмент текста, полученный swaks от целевого сервера (см.
--show-raw-text). На этом уровне нет понятия «ожидаемое» или «неожиданное».
Следующие параметры управляют тем, что и как выводится для вызывающего абонента.
-n, --suppress-данные
Суммирует часть DATA транзакции SMTP вместо печати каждой строки.
Эта опция очень полезна, если не требуется, при использовании сваков для отправки определенных
тестовые письма. Электронные письма с вложениями, например, быстро перегружают терминал.
если ДАННЫЕ не подавлены.
-stl, --show-таймлапс [i]
Отображение промежутка времени между парами отправки / получения. Эта опция наиболее полезна, когда
Time :: HiRes доступен, и в этом случае интервал времени будет отображаться в
тысячные доли секунды. Если Time :: HiRes недоступен или в качестве аргумента указано "i"
Промежуток будет отображаться только в целых секундах.
-nih, --no-info-подсказки
Не отображать подсказку транзакции для информационных транзакций. Это самое
полезно при необходимости скопировать часть информационных строк, например
вывод сертификата из --tls-get-peer-cert.
-nsh, --no-отправить-подсказки
-nrh, --no-получать-подсказки
-nth, --no-подсказки
--no-send-hints и --no-receive-hints подавляют префикс транзакции от отправки и
получают строки соответственно. Это часто бывает полезно при копировании некоторой части
транзакция для использования в другом месте (например, "--no-send-hints --hide-receive
--hide-informational "- полезный способ получить только клиентские команды для заданного
сделка). --no-hints идентично указанию --no-send-hints и
--не получать подсказки.
Не показывать подсказки транзакций (полезно в сочетании с -hr для создания возможности копирования / вставки).
транзакции).
-raw, --show-raw-текст
Эта опция распечатает шестнадцатеричный дамп необработанных данных, отправленных и полученных сваками. Каждый гекс
дамп - это содержимое однократного чтения или записи в сети. Это должно быть
идентично тому, что уже отображается (за исключением символов \ r
удаляется). Эта опция полезна для просмотра деталей, когда серверы отправляют партии.
данных в отдельных пакетах или разбиение отдельных строк на несколько пакетов. Если
вам действительно нужно углубиться в эту область, вам, вероятно, лучше с пакетом
сниффером, но этот вариант - хороший первый шаг к обнаружению странных проблем с подключением.
--выходной файл
--output-file-stdout
--output-file-stderr
Эти параметры позволяют пользователю отправлять вывод в файлы вместо stdout / stderr. В
Первый вариант отправляет оба файла в один и тот же файл. Аргументы & STDOUT и & STDERR:
обрабатывается особым образом, ссылаясь на "нормальные" дескрипторы файлов, поэтому "--output-file-stderr
'& STDOUT' "перенаправит STDERR на STDOUT.
-пп, --защита-приглашение
Не отображать ввод пользователя в потенциально чувствительных подсказках (только сейчас
пароль аутентификации). См. Также --auth-hide-password
-hr, --hide-получать
Не отображать строки, отправленные с удаленного сервера, полученные сваками
-hs, --скрыть-отправить
Не отображать строки, отправляемые сваками на удаленный сервер
-hi, --hide-информационный
Не отображать информационные строки, не содержащие ошибок, из самого свака.
-ха, --скрыть-все
Не отображать какой-либо контент на терминале.
-S, --silent [уровень]
Причина молчания. Если аргумент не указан или указан аргумент "1",
печатать без вывода, если / пока не возникнет ошибка, после чего отображается весь вывод. Если
приводится аргумент «2», только ошибки печати. Если дано «3», не выводить никогда.
--служба поддержки
Возможности печати и выход. Для некоторых функций требуются нестандартные модули Perl.
Эта опция оценивает наличие этих модулей и отображает, какие
функциональность доступна, а какая нет, и какие модули необходимо добавить
чтобы получить недостающую функциональность.
--свалка
Эта опция заставляет swaks печатать результаты обработки опции непосредственно перед
почта была бы отправлена. При использовании --dump почта отправляться не будет. Обратите внимание, что
--dump считается инструментом чистой самодиагностики, и никаких усилий не прилагается и не будет
никогда не заставлять маскировать пароли в выводе --dump.
--Помогите
Отобразите эту справочную информацию.
--версия
Показать информацию о версии.
Портативность
ОПЕРАЦИОННЫЕ СИСТЕМЫ
Эта программа была в первую очередь предназначена для использования в unix-подобных операционных системах, и она
должен работать с любой разумной версией. Он был разработан и протестирован на
Solaris, Linux и Mac OS X, и все они полнофункциональны.
Известно, что эта программа демонстрирует базовые функции в Windows с помощью
Perl от ActiveState. Полностью не протестирован. Известно, что работают базовые SMTP
функциональность и типы аутентификации LOGIN, PLAIN и CRAM-MD5. Неизвестно какой-либо TLS
функциональность и типы аутентификации NTLM / SPA и DIGEST-MD5.
Поскольку эта программа должна работать везде, где работает Perl, я был бы признателен за информацию о
любые новые операционные системы, в которых вы тщательно использовали сваки, а также любые проблемы
столкнулся на новой ОС.
ПОЧТОВЫЕ СЕРВЕРЫ
Эта программа была почти исключительно разработана для почтовых серверов Exim. Это было
случайно используется автором, хотя и не тщательно протестирован, с Sendmail, Smail,
Exchange, Oracle Collaboration Suite, qpsmtpd и Communigate. Потому что все
функциональность в swaks основана на известных стандартах, она должна работать с любыми справедливыми
современный почтовый сервер. Если обнаружится проблема, сообщите об этом автору по адресу
внизу.
ВЫХОД КОДЫ
0 ошибок не было
1 ошибка при разборе параметров командной строки
2 ошибка подключения к удаленному серверу
3 неизвестный тип подключения
4 при работе с типом подключения «труба», фатальная проблема записи или чтения из
дочерний процесс
5 при работе с типом соединения "pipe" дочерний процесс неожиданно завершился. Этот
может означать, что программа, указанная с помощью --pipe, не существует.
6 Соединение неожиданно прервано. Если закрытие обнаружено в ответ на «ВЫЙТИ»
swaks отправляет после неожиданного ответа код ошибки для этого неожиданного
вместо этого используется ответ. Например, если почтовый сервер возвращает ответ 550 на
ПОЧТА ОТ: а затем сразу закрывает соединение, swaks обнаруживает, что
соединение закрыто, но использует более конкретный код выхода 23, чтобы подробно описать характер
провал. Если вместо этого сервер вернет код 250, а затем немедленно закроет
соединение, swaks будет использовать код выхода 6, потому что нет более конкретного выхода
код.
10 ошибка в предпосылках (необходимый модуль недоступен)
21 ошибка чтения начального баннера с сервера
22 ошибка в транзакции HELO
23 ошибка в почтовой транзакции
24 RCPT не принимаются
25 сервер вернул ошибку на запрос данных
26 сервер не принял почту после данных
27 сервер возвратил ошибку после запроса выхода из обычного сеанса
28 ошибка в транзакции AUTH
29 ошибка в транзакции TLS
32 ошибка в EHLO после согласования TLS
33 ошибка в транзакции XCLIENT
34 ошибка в EHLO после XCLIENT
О НАС ИМЯ
Название «swaks» является (своего рода) аббревиатурой от «SWiss Army Knife Smtp». Это было выбрано, чтобы быть
довольно отчетливый и отчетливый. А «сваки» уникальны как название ПО.
package, он имеет и другие значения, не относящиеся к программному обеспечению. Просьба указать другие варианты использования слова "swak" или
"гебли" для включения.
"Запечатано поцелуем"
SWAK / SWAK время от времени появляется в Интернете со значением «с любовью».
плохо / плохо / плохо (африкаанс)
Видел это в заголовке «SA se bes en swaks gekledes в 2011 году», что было переведено как
"лучше и хуже одеты" носителями языка. Переводчику Google не нравятся "сваки".
gekledes », но он переведет« swak »как« бедный »и« swak geklede »как« плохо одетый ».
КОНТАКТ
[электронная почта защищена]
Используйте этот адрес для общих контактов, вопросов, исправлений, запросов и т. Д.
[электронная почта защищена]
Если вы хотите, чтобы вас включили в список для получения уведомлений о выходе новой версии
swaks выпущен, отправьте электронное письмо на этот адрес.
http://www.jetmore.org/john/code/swaks/
Журналы изменений, эту справку и последнюю версию можно найти по этой ссылке.
Используйте сваки онлайн с помощью сервисов onworks.net
