Amazon Best VPN GoSearch

OnWorksファビコン

スワック

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーで swaks を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド swaks です。

プログラム:

NAME


swaks - Swiss Army Knife SMTP、多目的 SMTP トランザクション テスター

DESCRIPTION


swaks の主な設計目標は、柔軟でスクリプト可能な、トランザクション指向の SMTP テストであることです。
道具。 TLS、認証、および SMTP 機能や拡張機能を処理します。
パイプライン化。 SMTP、ESMTP、LMTP などの複数バージョンの SMTP プロトコル。 と
Unix ドメイン ソケット、インターネット ドメイン ソケット、および
生成されたプロセスへのパイプ。 オプションは環境変数で指定できますが、
構成ファイルとコマンドラインにより、最大限の構成可能性と使いやすさが実現します。
オペレーターとスクリプター向け。

QUICK 開始


標準のテスト電子メールを送信する [メール保護] test-server.example.net のポート 25:

saks --to [メール保護] --server test-server.example.net

ユーザーとして CRAM-MD5 認証を必要とする標準のテスト電子メールを配信します [メール保護].
メール本文に「X-Test」ヘッダーが追加されます。 認証パスワードは、
と促されました。

saks --to [メール保護] - から [メール保護] --auth CRAM-MD5 --auth-user [メール保護] --header-X-Test "テストメール"

添付ファイルで EICAR を使用してウイルス スキャナをテストします。 メッセージの DATA 部分を表示しません。:

スワクス -t [メール保護] --attach - --server test-server.example.com --suppress-data

電子メールの本文で GTUBE を使用し、MX レコード経由でルーティングされたスパム スキャナをテストします。
例.com:

saks --to [メール保護] --body /path/to/gtube/file

標準のテスト電子メールを送信する [メール保護] UNIX 経由で LMTP プロトコルを使用する
ドメインソケットファイル

saks --to [メール保護] --socket /var/lda.sock --プロトコル LMTP

テスト サーバーで検証できないすべての受信者をテキスト ファイルで報告します。

`cat /path/to/email/file` の E の場合
do
swaks --to $E --server test-server.example.com --quit-after RCPT --hide-all
[$? -ne 0 ] && echo $E
行われ

条件 そして コンベンション


この文書では、以下の用語を一貫して具体的に使用するよう努めています。
混乱を軽減します。

トランザクション
トランザクションとは、トランスポートを介してターゲットへの接続を開き、
メッセージング プロトコルを使用してメッセージの配信を試みます。

ターゲット
トランザクションのターゲットは、swaks が接続するものです。 この一般用語は
他のほとんどの用語が何かを不適切に暗示しているため、ドキュメント全体で使用されています。
使用されている交通機関について。

輸送
トランスポートは、ターゲットに接続するために使用される基礎となるメソッドです。

プロトコル
プロトコルは、ターゲットとの通信に使用されるアプリケーション言語です。 これ
この文書では、SMTP を使用して、サポートされている XNUMX つのプロトコルすべてを総称して説明します。
特定の「SMTP」プロトコルについて言及しており、他のプロトコルは除外していると述べています。

メッセージ
SMTP プロトコルは、合意された形式のバイトの集合であるメッセージを転送するために存在します。
送信者と受信者がいます。

封筒
メッセージのエンベロープには、メッセージの「真の」送信者と受信者が含まれます。 できる
コンポーネント、エンベロープ送信者およびエンベロープ受信者とも呼ばれます。 それは
メッセージ エンベロープは To: と From: と一致する必要はないことに注意することが重要です。
ヘッダー。

DATA
SMTP トランザクションの DATA 部分は、送信される実際のメッセージです。
輸送された。 これは、メッセージのヘッダーと本文の両方で構成されます。 データと本体
は同義語として使用されることもありますが、ここでは常に XNUMX つの異なるものです。
の資料をご参照ください。

ヘッダ
メッセージのヘッダーは、メッセージの前の DATA セクション内のすべての行として定義されます。
最初の空白行。 表示される電子メールに関する情報が含まれています
To:、From:、Subject: などの受信者へのメッセージです。このドキュメントのヘッダーは
常に最初の文字を大文字にし、末尾にコロンを付けて記述します。

ボディ
メッセージの本文は、最初の空白行に続く DATA セクションの部分です。

オプション 加工


潜在的な混乱を避けるために、この文書では、swaks へのフラグは常に次のように呼ばれます。
オプション"。 オプションが追加データを受け取る場合、その追加データは次のように呼ばれます。
オプションの引数。 たとえば、「~から [メール保護]" に提供される可能性があります
コマンドラインで「--from」をオプションとして実行し、「[メール保護]" であること
--fromの主張。

スワックには XNUMX つの方法でオプションを与えることができます。 構成で指定できます
ファイル、環境変数、およびコマンドラインで。 特定のオプションに応じて
また、引数が与えられているかどうかに関係なく、swaks はユーザーに引数の入力を求める場合があります。

swaks がそのオプションを評価するとき、最初に構成ファイルを検索します (
デフォルトの場所、または --config で指定)。 次に、次のオプションを評価します。
環境変数。 最後に、コマンド ライン オプションを評価します。 各ラウンドで
処理中、以前に設定されたオプションはすべて上書きされます。 さらに、任意のオプションを使用できます。
変数が以前に設定されていることを swaks が忘れるようにするために、「no-」という接頭辞が付けられます。
多くのオプションは定義済みだが引数なしの処理を行うため、この機能が必要です。
未定義とは異なります。

各タイプを使用するための正確なメカニズムと形式を以下に示します。

設定ファイル
構成ファイルを使用して、一般的に使用されるオプションや異常に詳細なオプションを設定できます。
デフォルトでは、swaks は $SWAKS_HOME/.swaksrc、$HOME/.swaksrc、および
$LOGDIR/.swaksrc。 これらのいずれかが存在することが判明した場合 (および --config が使用されていない場合)
そのファイルは構成ファイルとして使用されます。

さらに、デフォルト以外の場所にある構成ファイルを次を使用して指定できます。
--config. これが設定されていて引数が与えられていない場合、swaks は何も使用しません。
デフォルト ファイルを含む構成ファイル。 --config が読み取り可能なものを指している場合
ファイルの場合、それは構成ファイルとして使用され、存在する可能性のあるデフォルトをオーバーライドします。 もしも
読み取り不可能なファイルを指しているため、エラーが表示され、swaks が終了します。

「ポータブル」デフォルトのセットは、オプションを末尾に追加することによって作成することもできます。
swaks プログラム ファイル。 配布されたとおり、swaks の最後の行は「__END__」である必要があります。 どれでも
__END__ の後に追加された行は、構成ファイルの内容として扱われます。
これにより、一連のユーザー設定をサーバーからサーバーに自動的にコピーできるようになります。
単一のファイルに。

存在し、構成ファイルが明示的にオフになっていない場合、__END__
config は常に読み取られます。 XNUMX つのファイルにつき、他の構成ファイルは XNUMX つだけ使用されます。
複数の構成ファイルが指定されている場合でも、swaks を呼び出します。 指定する
--config オプションを引数なしで指定すると、__END__ と __END__ の両方の処理がオフになります。
config および実際の構成ファイル。

構成ファイルでは、ハッシュ (#) で始まる行は無視されます。 他のすべての行
はスワクのオプションであるとみなされ、先頭のダッシュはオプションです。
オプション行の最初のスペース以降はすべて、オプションの引数とみなされます。
シェル加工はされていません。 したがって、引用は通常は不要であり、
文字通り引数に含まれます。 以下はコンテンツの例です。
設定ファイル:

# サーバーやログインユーザーに関係なく、常にこの送信者を使用します
- から [メール保護]
# テストメールにはきれいな from ヘッダーが付いている方が良いと思います。 ノート
# オプションのダッシュの欠如と周囲の引用符の欠如
# 引数全体。
h-From: 「フレッドの例」[メール保護]>

環境変数
オプションは環境変数を介して指定できます。 変数は次の形式です。
$SWAKS_OPT_name、name は、
コマンドライン。 ほとんどの環境変数名ではダッシュが許可されていないため、
unix っぽいシェル。先頭にダッシュを使用せず、オプションの内側にダッシュを使用する必要があります。
名前はアンダースコアに置き換える必要があります。 以下は同じオプションを作成します
構成ファイルの例に示されているのは次のとおりです。

$ SWAKS_OPT_from='[メール保護]'
$ SWAKS_OPT_h_From='"フレッドの例"[メール保護]>'

変数を空の値に設定することは、コマンドラインで変数を指定することと同じです。
議論なしで。 たとえば、SWAKS_OPT_server="" を設定すると、swaks が
呼び出しのたびに、接続するサーバーの使用を要求します。

コマンド ライン オプションと同等の設定に加えて、SWAKS_HOME を設定することもできます
使用するデフォルトの .swaksrc を含むディレクトリにコピーします。

コマンドラインオプション
swaks にオプションを指定する最後の方法は、コマンド ラインを使用することです。 オプション
ほとんどの Unix 風のコマンド ライン プログラムと一貫した方法で動作します。 多くのオプション
短い形式と長い形式の両方があります (-s と --server など)。 慣例的に短くすると
オプションは XNUMX つのダッシュで指定し、長いオプションは XNUMX つのダッシュで指定します。
ダッシュ。 これは単なる規則であり、どちらのプレフィックスもどちらのタイプでも機能します。

以下に、構成ファイルと環境に示される例を示します。
変数セクション:

$ swaks --from [メール保護] --h-From: '「フレッドの例」[メール保護]>'

TRANSPORT


swaks は、unix パイプ (「パイプ」)、unix ドメインソケット (「unix」) を介してターゲットに接続できます。
ソケット")、またはインターネット ドメイン ソケット ("ネットワーク ソケット")。ネットワーク ソケット経由での接続
はデフォルトの動作です。 使用されるトランスポートの特異な性質により、各セットは
次のセクションのオプションは相互に排他的です。 複数指定すると、
--server、--pipe、または --socket を使用するとエラーが発生します。 他のオプションを混在させる
トランスポート タイプを指定すると、無関係なオプションが無視されるだけになります。 以下は、
各タイプのトランスポートとそれに固有のオプションの簡単な説明
トランスポートタイプ。

ネットワークソケット
このトランスポートは、標準的な方法である TCP/IP 経由でメッセージを配信しようとします。
SMTP を配信します。 これは swaks のデフォルトのトランスポートです。 --server のいずれでもない場合、
--pipe または --socket が指定されている場合、このトランスポートが使用され、ターゲット サーバーは
受信者のドメインから決定されます (詳細については、以下の --server を参照してください)。

このトランスポートには、標準 Perl の一部である IO::Socket モジュールが必要です
分布。 このモジュールがロード可能でない場合、このトランスポートを使用しようとすると、
エラーが発生し、プログラムが終了します。

IPv6 は、IO::Socket::INET6 モジュールが存在する場合にサポートされます。

-s, --server [ターゲットメールサーバー[:ポート]]
swaks にネットワークソケットを使用し、ホスト名または IP を指定するように明示的に指示します。
接続先のアドレス、または引数が指定されていない場合はプロンプトを表示します。 このオプションが
指定されておらず、他のトランスポート オプションも指定されていない場合、ターゲット メール サーバーは
受信者の電子メールのドメインの適切な DNS レコードから決定されます。
Net::DNS モジュールを使用してアドレスを取得します。 Net::DNS が利用できない場合、swaks は
配信するためにローカルホストへの接続を試みます。 ターゲットポートはオプションで設定可能
ここ。 これでサポートされている形式には、SERVER:PORT (名前と IPv4 をサポート) が含まれます。
アドレス); [SERVER]:PORT および SERVER/PORT (名前、IPv4 および IPv6 をサポート)
アドレス)。 --copy-routing も参照してください。

-p、--port [ポート]
ターゲット上のどの TCP ポートを使用するかを指定するか、引数が指定されていない場合はプロンプトを表示します
リストされています。 引数にはサービス名を指定できます(次のように取得されます)。 getservbyname(3)) または
ポート番号。 デフォルトのポートは --protocol オプションによって決定されます。 見る
詳細については --protocol を参照してください。

-li, --local-interface [IP またはホスト名[:ポート]]
発信 SMTP 接続のローカル インターフェイスとして引数を使用するか、プロンプトを表示します。
引数が指定されていない場合はユーザー。 引数には IP アドレスまたはホスト名を指定できます。 デフォルト
アクションは、オペレーティング システムにローカル インターフェイスを選択させることです。 --server を参照してください。
:port 形式に関する追加コメント。

-lp、--local-port [ポート]
トランザクションを開始する送信ポートを指定します。 このオプションが
指定しない場合、システムは一時ポートを選択します。 通常のユーザーは注意してください
一部のポートは指定できません。

--copy-routing [ドメイン]
引数は電子メール アドレスのドメイン部分として解釈され、使用されます。
を検索するために使用されるのと同じロジックを使用してターゲット サーバーを検索します。
受信者の電子メール アドレスのターゲット サーバー。 詳細については、 --to オプションを参照してください。
電子メール ドメインからターゲットを決定する方法について説明します。

-4、-6
IPv4 または IPv6 を強制します。

UNIXソケット
このトランスポート方法は、unix ドメイン ソケット ファイルを介してメッセージを配信しようとします。
これは、ソケット ファイルをリッスンする MTA/MDA をテストする場合に役立ちます (たとえば、テスト
Cyrus への LMTP 配信)。 このトランスポートには、その一部である IO::Socket モジュールが必要です
標準の Perl ディストリビューションの。 このモジュールがロードできない場合は、使用しようとします
この転送によりエラーが発生し、プログラムが終了します。

--socket [/ソケット/ファイルへのパス]
このオプションは引数として unix ドメイン ソケット ファイルを受け取ります。 スウェイクができない場合
このソケットを開くと、エラーが表示されて終了します。

パイプ
このトランスポートはプロセスを生成し、パイプ経由でプロセスと通信しようとします。 の
生成されたプログラムは、STDIN/STDOUT 上でメール サーバーとして動作するように準備する必要があります。 どれでも
inet/xinet から動作するように設計された MTA はこれをサポートする必要があります。 さらに、いくつかの MTA
STDIN/STDOUT経由で通信できるテストモードを提供します。 この輸送
そのテストを自動化するために使用できます。 たとえば、DNSBL チェックを実装した場合
Exim を使用して、それが機能していることを確認したい場合は、「swaks --pipe」を実行できます。
「exim -bh 127.0.0.2」。 理想的な世界では、あなたが話しているプロセスは動作するはずです
stdin および stdout 上の SMTP サーバーとまったく同じです。 デバッグはすべて次の宛先に送信する必要があります。
stderr、端末に送信されます。 現実世界ではスワックはできる
通常、子の標準出力で一部のデバッグを処理しますが、どのように処理するかについては保証がありません。
十分に対応できます。

このトランスポートには、標準 Perl の一部である IPC::Open2 モジュールが必要です
分布。 このモジュールがロードできない場合、このトランスポートを使用しようとすると、
エラーが発生し、プログラムが終了します。

--pipe [/path/to/コマンドと引数]
プロセス名と引数をプロセスに提供します。 スワックはスポーンしようとします
プロセスとパイプ経由で通信します。 引数が
実行可能 swak はエラーを表示して終了します。

プロトコル OPTIONS


これらのオプションはプロトコル層に関連しています。

-t, --to [メールアドレス[,メールアドレス,...]]
swaks に、引数を電子メールのエンベロープ受信者として使用するか、プロンプトを使用するように指示します。
引数が指定されていない場合は受信者。 複数の受信者が指定されている場合、
受信者のドメインは、最後の受信者のドメインのルーティングを決定するために必要です
提供されたものが使用されます。

このオプションにはデフォルト値はありません。 どの経由でも受信者が提供されない場合
つまり、ユーザーは対話的に入力するよう求められます。 これの唯一の例外は
--quit-after 値が指定されている場合、smtp トランザクションは
受信者が必要になる前に終了します。

-f, --from [メールアドレス]
引数を電子メールのエンベロープ送信者として使用するか、引数が指定されていない場合はユーザーにプロンプ​​トを表示します。
文字列 <> を指定すると、null 送信者を意味します。 ユーザーが指定しない場合、
送信者アドレスにはデフォルト値が使用されます。 デフォルトの送信者のドメイン部分は、
ローカル ホストの完全修飾ドメイン名を推測します。 の方法
ローカル部分の決定方法は異なります。 Windows では、 Win32::ログイン名() 使用されている。 UNIX では、
ようなプラットフォームでは、$LOGNAME 環境変数が設定されている場合はそれが使用されます。 さもないと
getpwid(3)を使用します。 --force-getpwuid も参照してください。

--ehlo、--lhlo、-h、--helo [helo-string]
HELO/EHLO/LHLO コマンドの引数として使用する文字列、または引数がない場合はプロンプトの使用
指定。 このオプションが使用されない場合は、完全修飾ドメイン名が最も正確に推測されます。
ローカルホストのものが使用されます。 ベースの一部である Sys::Hostname モジュールの場合
配布は利用できないため、ユーザーは HELO 値の入力を求められます。 ご了承ください
Sys::Hostname は、特定の環境でローカル ホスト名を見つけることができないことが確認されています。
状況。 これは、Sys::Hostname が使用できない場合と同じ効果があります。

-q, --quit-after [停止ポイント]
トランザクションを停止するポイント。 要求された停止地点に到達したとき
トランザクション内で に到達し、その前に swaks がエラーアウトしていないことが条件となります。
それに到達すると、swaks は「QUIT」を送信し、接続をきれいに閉じようとします。
これらは有効な引数とその意味に関する注意事項です。

接続、バナー
ターゲットからグリーティング バナーを受信した後、セッションを終了します。

最初の HELO、最初の EHLO、最初の LHLO
STARTTLS (ただし、tls-on-connect ではない) セッションでは、次の後にトランザクションを終了します。
XNUMX つの HELO のうちの XNUMX つ目。 非 STARTTLS トランザクションでは、HELO と同じように動作します。
(下記参照)。

エククライアント
XCLIENTの送信後に終了する

TLS TLS ネゴシエーションの直後にトランザクションを終了します。 これに注意してください
STARTTLS または tls-on-connect が使用されているかどうかに応じて、異なる場所で発生します。
使用済み。 これは常に、TLS がネゴシエートされる時点の後で終了します。
それが試みられたかどうかに関係なく。

ヒーロ、イーロ、ルロ
STARTTLS または XCLIENT セッションでは、XNUMX 回目の HELO の後に終了します。 それ以外の場合は終了します
最初で唯一の HELO の後。

AUTH
認証後終了します。 これは、認証が完了した時点で常に終了します。
それが試みられたかどうかに関係なく、交渉されたでしょう。

メール、差出人
MAIL FROM: が送信されたら終了します。

トウモロコシ州RCPT
RCPT TO: が送信された後終了します。

--timeout [時間]
SMTP トランザクション タイムアウトとして引数を使用するか、引数が指定されていない場合はユーザーにプロンプ​​トを表示します。
引数は、秒として解釈される純粋な数字にすることも、
指定子 s または m を持ちます (5s = 5 秒、3m = 180 秒)。 特殊な場合として、0
トランザクションをタイムアウトしないことを意味します。 デフォルト値は 30 秒です。

--プロトコル [プロトコル]
トランザクションで使用するプロトコルを指定します。 有効なオプションは次のとおりです。
下の表。 現在、「コア」プロトコルは SMTP、ESMTP、LMTP です。 を使用することで
これらのプロトコル タイプのバリエーションでは、デフォルト ポートを簡潔に指定できます。
認証を試行する必要があり、認証を試行する必要がある TLS 接続のタイプ
試みた。 デフォルトのプロトコルは ESMTP です。 この表は、利用可能なものを示しています
--protocol の引数と、それぞれ副作用として設定されるオプション:

SMTP
こんにちは、「-p 25」

SSMTP
EHLO->HELO、「-tlsc -p 465」

SSMTPA
EHLO->HELO、「-a -tlsc -p 465」

SMTPS
こんにちは、「-tlsc -p 465」

ESMTP
EHLO->HELO、「-p 25」

ESMTPA
EHLO->HELO、「-a -p 25」

ESMTPS
EHLO->HELO、「-tls -p 25」

ESMTPSA
EHLO->HELO、「-a -tls -p 25」

LMTP
LHLO、「-p 24」

LMTPA
LHLO、「-a -p 24」

LMTPS
LHLO、「-tls -p 24」

LMTPSA
LHLO、「-a -tls -p 24」

--パイプライン
リモート サーバーが SMTP PIPELINING (RFC 2920) をサポートしている場合は、SMTP PIPELINING (RFC XNUMX) を試してください。 これは
若いオプションで問題が発生した場合は、作成者に通知してください。
潜在的な問題領域には、有効なデータがないにもかかわらずデータを受け入れるサーバーが含まれます。
受信者 (その場合、swaks は QUIT ではなく空の本文を送信する必要があります) とデッドロックが発生します
TCP ウィンドウ サイズを超えてパケットを送信することによって。

--force-getpwid
代わりに、デフォルトの送信者のローカルパートを見つける getpwuid メソッドを使用するように swaks に指示します。
最初に $LOGNAME を試してみましょう。

TLS / 暗号化


これらはトランザクションの暗号化に関連するオプションです。 これらはテスト済みであり、
XNUMX つの転送方法すべてで動作することが確認されています。 Net::SSLeay モジュールは次の目的で使用されます。
要求されたときに暗号化を実行します。 このモジュールがロード可能でない場合、swaks は次のいずれかを実行します。
リクエストがオプションであるかどうかに応じて、TLS リクエストを無視するか、エラーを出力します。
STARTTLS は ESMTP プロトコルの拡張機能として定義されており、次の場合には使用できません。
--protocol は smtp のバリエーションに設定されます。 プロトコルで定義されていないため
--tls-on-connect 自体は、ターゲットがサポートしていれば、どのプロトコル タイプでも使用できます。

TLS 接続のネゴシエートにはローカル証明書は必要ありません。 ただし、一部の
サーバーはクライアント証明書チェックを使用して、クライアントが接続を許可されていることを確認します。
--tls-cert を使用すると、swaks に特定のローカル証明書を使用するよう指示できます。
および --tls-key オプション。

-tls
STARTTLS を使用するには接続が必要です。 何らかの理由で TLS が利用できない場合は終了します (
宣伝された、交渉が失敗したなど)。

-tlso、--tls-オプション
利用可能な場合は STARTTLS の使用を試み、TLS が使用可能な場合は通常のトランザクションを続行します。
いかなる理由があっても交渉することはできません。 これはほとんど役に立たないオプションであることに注意してください。
ネゴシエーション失敗後の接続状態のため、現在実装されています。
は不明です。 バージョンの不一致など、場合によっては、接続をそのままにしておく必要があります。
平文。 検証の失敗など、サーバー側で問題があると判断される場合もあります。
クライアントが平文であると認識している間、TLS を話し続ける必要があります。 あるかもしれない
将来的にはさらに詳細な状態検出を追加する予定ですが、現時点では注意してください。
TLS ネゴシエーションが試行されると、このオプションでは奇妙なことが起こる可能性があります。
失敗します。

-tlsos、--tls-optional-strict
利用可能な場合は、STARTTLS の使用を試みます。 TLS がネゴシエートされている場合はトランザクションを続行します
成功したか、STARTTLS がアドバタイズされませんでした。 STARTTLS がアドバタイズされているが TLS の場合
ネゴシエーションが失敗すると、エラーとして扱われ、トランザクションが中止されます。 注意事項が記載されているため、
上で述べたように、これは --tls-optional よりもはるかに健全なオプションです。

--tlsc、--tls-on-connect
接続するとすぐに TLS 接続を開始します。 一般的な慣例に従っている場合、
このオプションを指定すると、デフォルトのポートが 25 から 465 に変更されますが、
--port オプションでオーバーライドされることもあります。

-tlsp、--tls-protocol 仕様
TLS をネゴシエートするときに使用する (または使用しない) プロトコルを指定します。 この時点で
現時点では、使用可能なプロトコルは sslv2、sslv3、tlsv1、tlsv1_1、および tlsv1_2 です。 の
これらのプロトコルが利用できるかどうかは、基礎となる OpenSSL ライブラリに依存します。
これらすべてが利用できるわけではありません。 利用可能なプロトコルのリストは次のとおりです。
--dump の出力 (TLS がまったく利用できると仮定して)。

仕様文字列は、使用できるプロトコルのカンマ区切りのリストです。
使用されていない。 たとえば、「tlsv1,tlsv1_1」は、これら XNUMX つのうちのいずれかの場合にのみ成功します。
プロトコルはクライアントとサーバーの両方で使用できます。 逆に、
「no_sslv2,no_sslv3」は、sslv2 と sslv3 以外のプロトコルのネゴシエーションを試みます。
XNUMX つの仕様形式を混合することはできません。

-tls-cipher CIPHER_STRING
このオプションの引数は、リストを設定するために基礎となる OpenSSL ライブラリに渡されます。
接続に使用できる許容可能な暗号の種類。 この文字列の形式は次のとおりです。
スワックに対して不透明であり、次のように定義されます。
http://www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT。 簡単な例
--tls-cipher '3DES:+RSA' になります。

--tls-検証
デフォルトでは、swaks は証明書の検証を行いません。 --tls-verify を設定すると、
swaks がサーバーの証明書を検証しようとします。 このオプションが設定されている場合、
サーバーの証明書は検証可能ではありません (システムのデフォルトの CA を使用しても)
情報、またはカスタム CA 情報 (--tls-ca-path を参照)) TLS ネゴシエーションは行われません。
成功する。

--tls-ca-path [ /path/to/CAfile | /パス/to/CAdir/ ]
デフォルトでは、swaks は基礎となる OpenSSL ライブラリのデフォルト CA 情報を使用します。
サーバー証明書を検証しています。 --tls-ca-path を使用すると、代替パスを指定できます。
位置。 見る http://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html
ファイル/ディレクトリの内容の詳細。

--tls-cert /パス/ファイルへ
TLS が有効な場合に swaks が使用するローカル証明書を含むファイルへのパスを指定します。
交渉した。 ファイルパス引数は必須です。 現在実装されているように、
ファイル内の証明書は PEM 形式である必要があります。 ある場合は作者に連絡してください
ASN1 の切実な必要性。 このオプションが設定されている場合は、--tls-key も必要です。

--tls-key /パス/ファイルへ
TLS が有効な場合に swaks が使用するローカル秘密鍵を含むファイルへのパスを指定します。
交渉した。 ファイルパス引数は必須です。 現在実装されているように、
ファイル内の証明書は PEM 形式である必要があります。 ある場合は作者に連絡してください
ASN1 の切実な必要性。 このオプションが設定されている場合は、--tls-cert も必要です。

--tls-get-peer-cert [/path/to/file]
TLS ピアの証明書のコピーを取得します。 引数が指定されていない場合は、次のようになります。
STDOUTに表示されます。 引数が指定された場合、それはファイルシステムのパスであるとみなされます。
証明書を書き込む場所を指定します。 保存された証明書は、
openssl コマンドなどの標準ツールを使用して調査しました。 ファイルが指定されている場合は、
内容は上書きされます。

認証


swaks は、指示があれば、ターゲット メール サーバーへの認証を試みます。 これ
このセクションでは、利用可能な認証タイプ、要件、オプション、およびその詳細について説明します。
インタラクション、および認証の使用に関するその他の細かい点。 なぜなら認証は
ESMTP プロトコルの拡張機能として定義されているため、--protocol が設定されている場合は使用できません。
smtp のバリエーション。

すべての認証方法には、base64 エンコードが必要です。 MIME::Base64 perl モジュールが
ロード可能な swaks は、これを使用してこれらのエンコードを実行しようとします。 MIME::Base64 ではない場合
利用可能な Swak は独自のオンボード Base64 ルーチンを使用します。 これらは、
MIME::Base64 ルーチンは徹底的にテストされていますが、あまりレビューされていません。 使用する
MIME::Base64 モジュールが推奨されます。

認証が必要な場合 (認証が必要な場合とそうでない場合については、以下のオプションを参照)
利用可能な認証タイプの要件が満たされていない場合、swaks はエラーを表示します
そして出ます。 これが起こる XNUMX つの方法には、swaks に特定のメソッドの使用を強制することが含まれます。
要件が欠落しているため、または swaks が使用できるようにしているため、swaks が使用できない認証タイプ
任意の認証タイプを使用できますが、サーバーは swaks がサポートできないタイプのみをアドバタイズします。 の
前者の場合は、事前にそれがわかっているため、オプションの処理時にエラーが発生します。
認証できなくなります。 後者の場合、swaks は次の時点でエラーになります。
swaks はそれを認識しないため、smtp トランザクションの認証段階で
その時点までは認証できません。

以下は、個別の注意事項を含む、サポートされている認証タイプです。
要件。

次のオプションは、swaks の認証の使用に影響します。 これらのオプションはすべて相互に影響します。
関連している。 たとえば、--auth-user を指定すると、--auth と --auth-password が暗黙的に指定されます。
--auth-optional を指定すると、--auth-user や --auth-password などが暗黙的に指定されます。

-a, --auth [認証タイプ[,認証タイプ,...]]
認証に swaks を要求します。 引数が指定されていない場合、サポートされている認証タイプ
サーバーによってアドバタイズされたものは、XNUMX つが成功するかすべてが失敗するまで試行されます。 XNUMX つ以上の場合
auth-types は引数として指定され、サーバーでもサポートされている認証タイプが試行されます。
XNUMX つが成功するか、すべてが失敗するまで順番に実行されます。 このオプションでは認証に swak が必要です。
したがって、共通の認証タイプが見つからない場合、または認証情報が成功しない場合、swaks は
エラーが発生して終了します。

次の表に、有効な認証タイプを示します。

ログイン、プレーン
これらの基本的な認証タイプは完全にサポートおよびテストされており、
追加要件

CRAM-MD5
CRAM-MD5 認証には Digest::MD5 モジュールが必要です。 完全にテストされています
そして、それを実装するあらゆるサーバーに対して機能すると考えられています。

ダイジェスト-MD5
DIGEST-MD5 認証システム (RFC2831) には、Authen::SASL モジュールが必要です。 バージョン
20100211.0 以前では、プロトコル レベルのエラーがあった Authen::DigestMD5 が使用されていました。
そのため、一部のサーバーでは動作しませんでした。 Authen::SASL の DIGEST-MD5
ハンドリングははるかに堅牢です。

swaks での DIGEST-MD5 の実装はかなり未熟です。 現在サポートされているのは、
たとえば、「auth」QOP タイプのみ。 DIGEST-MD5の経験があり、
swaks による DIGEST-MD5 のサポートを改善したいので、私に連絡してください。

DIGEST-MD5 プロトコルの「レルム」値は、--auth-extra「レルム」を使用して設定できます。
キーワード。 レルムが指定されていない場合は、適切なデフォルトが使用されます。

DIGEST-MD5 プロトコルの「digest-uri」値は、--auth-extra を使用して設定できます。
オプション。 たとえば、次のようなダイジェスト 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 で定義されています。 どれも無い場合
これらの値が指定されている場合は、適切なデフォルトが使用されます。

CRAM-SHA1
CRAM-SHA1 認証には Digest::SHA モジュールが必要です。 このタイプには、
Exim サーバー上の非標準実装に対してテストされており、
したがって、いくつかの実装上の欠陥があります。

NTLM/SPA/MSN
これらの認証システムには Authen::NTLM モジュールが必要です。 XNUMXつあることに注意してください
CPAN で Authen::NTLM 名前空間を使用するモジュール。 マーク・ブッシュの実装
(Authen/NTLM-1.03.tar.gz) は、swaks に必要なバージョンです。 このタイプは、
Exim、Communigate、Exchange 2007 に対してテスト済み。

標準のユーザー名とパスワードに加えて、この認証タイプでは次のことができます。
「ドメイン」も認識します。 ドメインは --auth-extra "domain" を使用して設定できます。
キーワード。 これは、そうでないメールサーバーではテストされていないことに注意してください。
DOMAIN を無視するため、正しく実装されない可能性があります。

-ao, --auth-optional [認証タイプ[,認証タイプ,...]]
このオプションは、認証を要求することを除き、--auth と同じように動作します。
それを要求するのではなく。 共通の認証タイプが見つからない場合、または認証情報がない場合
成功すると、認証が要求されなかったかのように swaks が続行されます。

-aos, --auth-optional-strict [認証タイプ[,認証タイプ,...]]
このオプションは、--auth と --auth-optional の間の妥協点です。 共通認証がない場合は、
タイプが見つかると、swaks は --auth-optional が指定されたかのように動作し、処理を続行します。
トランザクション。 swaks が要求された認証タイプをサポートできない場合、サーバーはサポートしません。
共通の認証タイプをアドバタイズするか、認証情報が成功しない場合、swaks は次のように動作します。
--auth が使用され、エラーで終了しました。

-au、--auth-user [ユーザー名]
認証に使用するユーザー名を指定するか、そうでない場合はユーザーに入力を求めます。
引数が提供されます。 文字列 <> を指定すると、空のユーザー名を意味します。

-ap、--auth-password [パスワード]
認証に使用するパスワードを指定するか、そうでない場合はユーザーにパスワードの入力を求めます。
引数が提供されます。 文字列 <> を指定すると、空のパスワードを意味します。

-ae、--auth-extra [KEYWORD=値[,...]]
認証タイプの中には、追加情報を含めることができるものもあります。
認証プロセス。 隅々まで新しいオプションを追加するのではなく、
各認証システムでは、--auth-extra オプションを使用してこの情報を提供できます。

次の表に、現在認識されているキーワードと認証子のリストを示します。
それらを使用するのは

レルム、ドメイン
レルムとドメインのキーワードは同義です。 どちらかを使用すると「ドメイン」が設定されます
NTLM/MSN/SPA のオプションと DIGEST-MD5 の「realm」オプション

dmd5-serv-type
dmd5-serv-type キーワードは、DIGEST-MD5 認証子によって使用され、次のように使用されます。
部分、digest-uri-value 文字列を構築します (RFC2831 を参照)

dmd5-ホスト
dmd5-host キーワードは、DIGEST-MD5 認証子によって使用され、次のように使用されます。
部分、digest-uri-value 文字列を構築します (RFC2831 を参照)

dmd5-serv-name
dmd5-serv-name キーワードは、DIGEST-MD5 認証子によって使用され、次のように使用されます。
部分、digest-uri-value 文字列を構築します (RFC2831 を参照)

-am, --auth-map [auth-alias=auth-type[,...]]
代替名を基本認証タイプにマップする方法を提供します。 あらゆる用途に役立ちます
一般的なタイプの代替名を使用するサイト。 この機能は実際に使われています
内部的にタイプ SPA および MSN を基本タイプ NTLM にマップします。 コマンドライン
これをシミュレートするための引数は「--auth-map SPA=NTLM,MSN=NTLM」になります。 すべての認証は、
上記のタイプは、SPA と MSN を除き、マッピングの有効なターゲットです。

-apt、--auth-plaintext
送信時にbase64でエンコードされたAUTH文字列を表示する代わりに、それらを変換します。
画面に印刷する前にプレーンテキストに変換します。

-ahp、--auth-hide-password [置換文字列]
このオプションを指定すると、読み取り可能なパスワードが常に印刷されます。
端末 (特に AUTH PLAIN および AUTH LOGIN) では、パスワードは
ダミー文字列 (または、提供されている場合は「置換文字列」の内容)。 ダミー文字列
Base64 でエンコードされるか、--auth-plaintext オプションに依存しません。

--auth-hide-password は --protect-prompt と似ていますが、同一ではないことに注意してください。
オプション。 前者は、パスワードが SMTP トランザクションに表示されないように保護します。
入力方法は関係ありません。 後者は、次の場合に機密文字列を保護します。
文字列がどのように使用されるかに関係なく、ユーザーは端末で文字列を入力します。

エククライアント OPTIONS


XCLIENT は、Postfix プロジェクトによって導入された SMTP 拡張機能です。 XCLIENT では、
(適切に認可された) クライアントがサーバーに IP などの代替情報を使用するように指示する
クライアントのアドレスまたはホスト名。 これにより、メールをテストするためのパスがはるかに簡単になります
サーバー構成。 プロトコルの詳細については、次の URL を参照してください。
http://www.postfix.org/XCLIENT_README.html.

--xclient-addr [値]
--xクライアント名 [値]
--xclient-port [値]
--xclient-proto [値]
--xclient-helo [値]
--xclient-login [値]
--xclient-reverse-name [値]
これらのオプションは、ターゲット サーバーに送信する必要がある XCLIENT 属性を指定します。 もしも
[VALUE] が指定されていない場合、swaks はプロンプトを表示し、STDIN の値を読み取ります。 見る
http://www.postfix.org/XCLIENT_README.html 公式ドキュメントについては、
属性の意味とその可能な値 (特殊な "[UNAVAILABLE]" および
「[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'」が swaks に与えられ、「XCLIENT」
ADDR=192.168.0.1 FOO=bar NAME=wind」がターゲットサーバーに送信されます。

--xclient-オプション
--xclient-optional-strict
通常の操作では、--xclient* オプションの XNUMX つを設定すると、正常に実行されます。
続行するには、XCLIENT トランザクションが発生します (つまり、XCLIENT は
アドバタイズするには、ユーザーが要求したすべての属性がアドバタイズされている必要があり、
サーバーは swaks の XCLIENT リクエストを受け入れている必要があります)。 これらのオプションにより、それが変わります
行動。 --xclient-optional は、swaks に XCLIENT を超えて無条件に続行するように指示します。
成功したかどうかにかかわらず、SMTP トランザクションの段階。
--xclient-optional-strict は似ていますが、より詳細です。 厳密なバージョンでは、
XCLIENT はアドバタイズされませんでしたが、XCLIENT が試行されてもアドバタイズされた場合は失敗します。
成功しない。

DATA OPTIONS


これらのオプションは、SMTP トランザクションの DATA 部分の内容に関係します。

-d, --data [データ部分]
DATA の内容全体として引数を使用するか、引数が指定されていない場合はユーザーにプロンプ​​トを表示します。
引数「-」を指定すると、データは STDIN から読み取られます。 他にあれば
引数が指定されており、開くことができるファイルの名前、その内容を表します。
ファイルが使用されます。 他の引数はそれ自体が DATA コンテンツになります。

値は 0 行で指定でき、\n (ascii 5x0c, 6xXNUMXe) はどこにあるかを表します。
改行を入れる必要があります。 先頭のドットは引用符で囲まれます。 終了ドットはありません
必須ですが許可されています。 このオプションのデフォルト値は「日付: %DATE%\n宛先:
%TO_ADDRESS%\n差出人: %FROM_ADDRESS%\n件名: テスト %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 トークンを置き換えます。

%TO_ADDRESS%
エンベロープ受信者に置き換えられます。 非推奨の %T トークンを置き換えます。

%日にち%
日付に含めるのに適した形式で現在の時刻に置き換えられます。
ヘッダ。 これはタイムゾーンに標準モジュール Time::Local を使用しようとしていることに注意してください
計算。 このモジュールが利用できない場合、日付文字列は GMT になります。
非推奨の %D トークンを置き換えます。

%NEW_HEADERS%
--add-header オプションの内容に置き換えられます。 --add-header がそうでない場合
指定すると、このトークンは単に削除されます。 非推奨の %H トークンを置き換えます。

%体%
--body オプションで指定した値に置き換えられます。 デフォルトについては --body を参照してください。
非推奨の %H トークンを置き換えます。

--古いデータトークンを使用する
以前のバージョンの swaks では、上記の --data オプションで説明したように DATA トークンが使用されます。
単一文字のトークン (%F など) が使用されました。 これらはデフォルトとしては良い選択ではありませんでした
トークンを使用するため、エンコードされた英語以外の言語では特に問題が発生することが判明しました。
これらの文字の組み合わせは一般的である可能性があります。 単一文字のトークンは次のとおりです。
上記のエラーが若干発生しにくいバージョンに置き換えられました。 の保持
古いトークンと、それらをアクティブ化するためのこのオプションの組み込みは、
古いトークンを使用する既存のメッセージ コーパスを持つユーザーに対する一時的な支援。 の
単一文字のトークンと --use-old-data-tokens オプションを考慮する必要があります
非推奨となっており、次のリリースで削除される可能性があります。

-dab、--dump-as-body
--dump-as-body が使用され、他のオプションを使用してデフォルトの本文を変更しない場合
メッセージの本文は、次の出力と同様の出力に置き換えられます。
--dump によって提供されます。 --dump の初期プログラム機能スタンザは表示されず、
「データ」セクションは含まれません。 さらに、 --dump には常にパスワードが含まれます。
デフォルトでは --dump-as-body にはパスワードは含まれませんが、これは次のように変更できます。
--本体にパスワードを表示するダンプ。

-dabsp、 --dump-as-body-shows-password
--dump-as-body にプレーンテキストのパスワードを含めます。 このオプションは推奨されません。
このオプションは --dump-as-body を意味します。

--body [本体仕様]
メールの本文を指定します。 デフォルトは「これはテストメールです」です。 いいえの場合
--body への引数が指定されている場合は、対話的に引数を指定するよう求められます。 「-」を指定すると、
本体は標準入力から読み取られます。 他のテキストが提供されている場合は、テキスト
は開くことができるファイルを表し、そのファイルの内容が本体として使用されます。 それであれば
は開くことができるファイルを表すものではないため、テキスト自体が本文として使用されます。

メッセージが強制的に MIME 形式に変換される場合 (--attach を参照)、このオプションの引数
最初の MIME 部分としてエンコードされていない状態で組み込まれます。 その content-type は常に次のようになります。
テキスト/プレーン。

--attach [添付ファイルの指定]
XNUMX つ以上の --attach オプションを指定すると、メッセージは次のように変更されます。
マルチパート/混合 MIME メッセージ。 --attach の引数は、次と同じように処理されます。
--stdin、ファイルの内容などに関する本体。 --attach は複数指定できます。
複数の添付ファイルを作成するのに時間がかかります。 デフォルトでは、各添付ファイルは
application/octet-stream ファイル。 この動作の変更については、--attach-type を参照してください。

ファイル名が指定されている場合、MIME エンコードにはそのファイル名が含まれます。 見る
ファイル命名の詳細については、--attach-name を参照してください。

'-' (STDIN) を引数として複数回指定することは正当です (
--body と --attach を複数回)。 この場合、同じ内容になります。
指定されるたびに添付されます。 同じ内容を添付する場合に便利です
複数の MIME タイプを使用します。

--attach-type [MIME タイプ]
デフォルトでは、 --attach オプションを使用してメッセージに MIME 添付されたコンテンツは、
application/octet-stream としてエンコードされます。 --attach-type は、すべての MIME タイプを変更します。
それに続く --attach オプション。 複数指定可能です。

--attach-name [名前]
このオプションは、
次の --attach オプション。 このオプションに引数が設定されていない場合、ファイル名は作成されません。
swaks が生成できる場合でも、次の MIME パートに含まれる情報
ローカルファイル名から。

-ああ、--add-header [ヘッダー]
このオプションを使用すると、DATA にヘッダーを追加できます。 %H が DATA に存在する場合、
は、このオプションの引数に置き換えられます。 %H が存在しない場合、引数は次のようになります。
DATA 内の最初の XNUMX つの連続する改行の間に挿入されます (つまり、
既存のヘッダーの最後に挿入されます)。

このオプションは複数回指定することも、複数回指定して XNUMX 回に指定することもできます。
ヘッダーはリテラル '\n' 文字列で区切られます。 したがって、「--add-header 'Foo: bar' --add-header」
'Baz: foo'" と "--add-header 'Foo: bar\nBaz: foo'" は同じ XNUMX つを追加することになります。
ヘッダー。

--header [ヘッダーとデータ]、--h-Header [データ]
これらのオプションを使用すると、DATA にすでに存在するヘッダーを変更できます。 ' - ヘッダ
「Subject: foo」と「--h-Subject foo」は同等です。 ヘッダーがまだない場合は、
データ内に存在する場合、この引数は --add-header と同じように動作します。 ただし、
ヘッダーがすでに存在する場合は、指定されたヘッダーに置き換えられます。

-g 指定すると、swaks は STDIN からメールの DATA 値を読み取ります。 これは
「--data -」に相当します。 メール内にFrom_行がある場合は削除されます
(ただし、-nsf オプションを参照してください)。 代わりに実際のメッセージ (ファイルに保存されている) を配信するのに役立ちます
メッセージ例の使用について説明します。

--no-data-fixup、-ndf
このオプションは、swaks が電子メールの DATA 部分のマッサージを行わないよう強制します。 これ
トークンの置換、From_ の削除、末尾のドットの追加、--body/attachment が含まれます。
インクルードとヘッダーの追加。 このオプションは、実際に使用する場合にのみ役立ちます。
--data。内部のデフォルトの DATA 部分はトークンを使用するためです。

--no-strip-from、-nsf
DATA 部分に From_ 行が存在する場合は、それを削除しないでください。

出力 OPTIONS


デフォルトでは、swaks はトランザクションのトランスクリプトを呼び出し元 (STDOUT/STDERR) に提供します。
この記録は、取引を可能な限り忠実に表現することを目指しています。
ただし、行に情報プレフィックスを追加することによってこの出力を変更します。
TLS トランザクションの平文バージョンを提供する

「情報プレフィックス」はトランザクション ヒントと呼ばれます。 これらのヒントは、
最初はスワック自体の出力であるマーキング ラインで構成されています。
情報メッセージまたはエラー メッセージ、および実際に送信されたデータ行を示すメッセージ、または
取引で受け取りました。 次の表は、ヒントとその意味を示しています。

=== swaks によって生成された情報行を示します

*** swaks 内で生成されたエラーを示します

-> swaks によってターゲット サーバーに送信されると予想される行を示します

~> TLS 暗号化された、swaks によってターゲット サーバーに送信される予期される行を示します

**> swaks によってターゲット サーバーに送信された予期しない行を示します

*~> swaks によってターゲット サーバーに送信された TLS 暗号化された予期しない行を示します

> swaks によってターゲット サーバーに送信されたテストの生のチャンクを示します (--show-raw-text を参照)。
このレベルには「予想」や「予想外」という概念はありません。

<- ターゲットサーバーによって swaks に送信される予定の行を示します

<~ ターゲットサーバーによって swaks に送信される TLS 暗号化された予期される行を示します

<** ターゲットサーバーによって swaks に送信された予期しない行を示します

<~* ターゲットサーバーによって swaks に送信された TLS 暗号化された予期しない行を示します

< ターゲット サーバーから swaks によって受信されたテキストの生のチャンクを示します (「
--show-raw-text)。 このレベルには「予想」や「予想外」という概念はありません。

次のオプションは、呼び出し元に出力をどのように表示するかを制御します。

-n、--suppress-data
すべての行を出力するのではなく、SMTP トランザクションの DATA 部分を要約します。
このオプションは、swak を使用して特定のメッセージを送信する場合に、必須に近いので非常に役立ちます。
テストメール。 たとえば、添付ファイル付きの電子メールはすぐに端末を圧迫してしまいます。
DATA が抑制されていない場合。

-stl、--タイムラプス表示 [i]
送信/受信ペア間の経過時間を表示します。 このオプションは次の場合に最も役立ちます。
Time::HiRes が利用可能です。この場合、タイムラプスが表示されます。
XNUMX分のXNUMX秒。 Time::HiRes が利用できない場合、または引数として「i」が指定された場合
経過時間は整数秒のみで表示されます。

-nih、--情報ヒントなし
情報トランザクションのトランザクション ヒントを表示しません。 これが一番
情報行の一部をコピーする必要がある場合に便利です。
--tls-get-peer-cert からの証明書出力。

-nsh、--no-send-hints
-nrh、--no-receive-hints
-nth、--ヒントなし
--no-send-hints および --no-receive-hints は、トランザクション プレフィックスの送信と送信を抑制します。
それぞれラインを受信します。 これは、ファイルの一部をコピーするときに便利です。
他の場所で使用するためのトランザクション (例: "--no-send-hints --hide-receive
--hide-informational" は、特定のクライアント側のコマンドのみを取得する便利な方法です。
取引)。 --no-hints は、 --no-send-hints と --no-send-hints の両方を指定することと同じです。
--受信ヒントなし。

トランザクション ヒントを表示しない (コピー/ペースト可能にするために -hr と併用すると便利)
トランザクション)。

-raw、--生のテキストを表示
このオプションは、swaks によって送受信された生データの XNUMX 進ダンプを出力します。 各ヘクス
ダンプは、ネットワーク上の XNUMX 回の読み取りまたは書き込みの内容です。 これはそうあるべきです
すでに表示されているものと同じです (\r 文字を除く)
削除中です)。 このオプションは、サーバーがロットを送信しているときに詳細を確認するのに役立ちます。
単一パケット内のデータ、または個々の行を複数のパケットに分割します。 もしも
その領域を深く掘り下げる必要があるため、おそらくパケットの方が優れています
スニファーですが、このオプションは、奇妙な接続の問題を確認するための良い最初のステップです。

--出力ファイル
--出力ファイル-stdout
--出力ファイル-stderr
これらのオプションを使用すると、ユーザーは stdout/stderr の代わりにファイルに出力を送信できます。 の
最初のオプションは両方を同じファイルに送信します。 &STDOUT および &STDERR の引数は次のとおりです。
「通常の」ファイルハンドルを参照して特別に扱われるため、「--output-file-stderr」
'&STDOUT'" は STDERR を STDOUT にリダイレクトします。

-pp、--プロテクトプロンプト
機密性が高い可能性があるプロンプトではユーザー入力をエコーし​​ないでください (現時点ではのみ)
認証パスワード)。 --auth-hide-password も参照してください。

-hr、--非表示-受信
swaks によって受信されているリモート サーバーから送信された行を表示しない

-hs、--非表示-送信
swaks によってリモートサーバーに送信される行を表示しない

-こんにちは、--情報を非表示にします
swaks 自体からのエラー以外の情報行を表示しないでください。

-は、 --すべて隠す
端末にコンテンツを表示しないでください。

-S、--silent [レベル]
スワックたちを黙らせる。 引数が指定されない場合、または引数「1」が指定された場合、
print エラーが発生しない限り、またはエラーが発生するまで出力はありません。その後、すべての出力が表示されます。 もし
引数「2」が指定されている場合は、エラーのみを出力します。 「3」を指定した場合は、何も出力しません。

- サポート
機能を出力して終了します。 特定の機能には、非標準の Perl モジュールが必要です。
このオプションは、これらのモジュールが存在するかどうかを評価し、どのモジュールが存在するかを表示します。
利用可能な機能と利用できない機能、および追加する必要があるモジュール
欠けている機能を得るために。

- ごみ
このオプションを使用すると、swaks は直前にオプション処理の結果を出力します。
メールが送信されたでしょう。 --dump を使用するとメールは送信されません。 ご了承ください
--dump は純粋な自己診断ツールとみなされ、何の努力も行われません。
--dump 出力でパスワードをマスクするようになることはありません。

- 助けて
このヘルプ情報を表示します。

- バージョン
バージョン情報を表示します。

移植性


オペレーティングシステム
このプログラムは主に Unix 系オペレーティング システムでの使用を目的としており、
その合理的なバージョンで動作する必要があります。 で開発およびテストされています
Solaris、Linux、Mac OS X に対応しており、これらすべてに機能が備わっています。

このプログラムは、次を使用して Windows 上の基本機能をデモンストレーションすることが知られています。
ActiveState の Perl。 完全にはテストされていません。 基本的な SMTP が機能することが知られています
機能と、LOGIN、PLAIN、および CRAM-MD5 認証タイプ。 TLS は不明です
機能、NTLM/SPA および DIGEST-MD5 認証タイプ。

このプログラムは Perl が動作する場所であればどこでも動作するはずなので、知っておくと幸いです。
Swaks を徹底的に使用した新しいオペレーティング システムと問題
新しいOSで遭遇しました。

メールサーバー
このプログラムは、ほぼ排他的に Exim メール サーバーに対して開発されました。 それはあった
徹底的にテストされてはいませんが、Sendmail、Smail、
Exchange、Oracle Collaboration Suite、qpsmtpd、およびCommunigate。 だって全部
swaks の機能は既知の標準に基づいており、どの標準でも適切に動作するはずです
最新のメールサーバー。 問題が見つかった場合は、作者に次のアドレスに警告してください。
を参照してください。

EXIT コード


0 エラーは発生しませんでした

コマンドラインオプションの解析中に 1 エラーが発生しました

2 リモートサーバーへの接続エラー

3 不明な接続タイプ

4 接続タイプ「パイプ」で実行中に、書き込みまたは読み取りに致命的な問題が発生する
子プロセス

5 接続タイプ「パイプ」で実行中に、子プロセスが予期せず終了しました。 これ
--pipe で指定されたプログラムが存在しないことを意味する可能性があります。

6 接続が予期せず終了しました。 「QUIT」に応答してクローズが検出された場合
swaks は、予期しない応答に続いて、その予期しないエラー コードを送信します。
代わりに応答が使用されます。 たとえば、メールサーバーがメールに 550 応答を返した場合、
MAIL FROM: その後すぐに接続を閉じます。swaks は、
接続は閉じられていますが、より具体的な終了コード 23 を使用して、接続の性質を詳しく説明します。
失敗。 代わりにサーバーが 250 コードを返した場合、すぐに
接続では、より具体的な終了がないため、swaks は終了コード 6 を使用します。
コー​​ド。

前提条件の 10 エラー (必要なモジュールが利用できない)

21 サーバーからの最初のバナーの読み取り中にエラーが発生しました

HELO トランザクションでの 22 エラー

23 MAIL トランザクションでエラーが発生しました

24 RCPT は受け入れられません

25 サーバーが DATA リクエストに対してエラーを返しました

26 サーバーはデータに続くメールを受け入れませんでした

27 通常セッション終了要求後にサーバーがエラーを返しました

AUTH トランザクションでの 28 エラー

TLS トランザクションで 29 エラーが発生しました

TLS ネゴシエーション後の EHLO での 32 エラー

XCLIENT トランザクションでの 33 エラー

XCLIENT に続く EHLO での 34 エラー

わたしたち NAME


「swaks」という名前は、「SWiss Army Knife Smtp」の(一種の)頭字語です。 選ばれたのは、
かなり明確で発音しやすい。 「swaks」はソフトウェアの名前としてはユニークですが、
パッケージには、ソフトウェア以外の他の意味があります。 「swak」の他の使用方法を送信してください。
「swaks」も含めます。

"キスで封じた"
SWAK/SWAKsは「愛をこめて」という意味でネット上に時折登場します。

悪い / 貧しい / 病気 (アフリカーンス語)
「2011年のSA se bes en swaks gekledes」という見出しに見られ、次のように翻訳されました。
ネイティブスピーカーによる「ベストドレッサーとワーストドレッサー」。 Google翻訳は「スワック」を好まない
gekledes」ですが、「swak」は「貧しい」、「swak geklede」は「服装が悪い」と翻訳されます。

お問い合わせ


[メール保護]
一般的な連絡先、質問、パッチ、リクエストなどにはこのアドレスを使用してください。

[メール保護]
新しいバージョンがリリースされたときに通知を受け取るリストに登録したい場合は、
swaks がリリースされましたので、このアドレスにメールを送信してください。

http://www.jetmore.org/john/code/swaks/
変更ログ、このヘルプ、および最新バージョンはこのリンクにあります。

onworks.net サービスを使用してオンラインで swaks を使用する


Ad




×
広告
❤️ここでショッピング、予約、購入してください。料金はかかりません。これにより、サービスが無料で維持されます。