GoGPT Best VPN GoSearch

OnWorksファビコン

sortmail - クラウド上のオンライン

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

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

プログラム:

NAME


sortmail - 受信メールを分類する

SYNOPSIS


ソートメール [ -v ] [ -簡潔 ] [ -home path ] [ -メールボックス path ] [ -mailrc 初期化ファイル ] [
-sortmailrc 初期化ファイル ] [ -受信トレイ ファイル名 ] [ -mbox ] [ -ポップ|ポップ3|ポップ2 ユーザー:パスワード@ホスト ]
[ -ポップ|ポップ3|ポップ2 /道 ] [ -保つ ] [ -ノアポップ ] [ var = value ] [ -dumpCrcs データベース名 ] [
-確認 ] [ -バージョン ] ユーザ名

DESCRIPTION


ソートメール 指定したパターンに従って電子メールを読み取り、分類します。 使用できるのは、
受信メールの処理、メーリング リストのフィルタリング、メール フォルダの処理、またはメールのダウンロード
POPサーバー。

受信メールを処理するには、これを作成します 。前方 ホームディレクトリ内のファイル:

"| /path/sortmail user"

どこ "/path/sortmail" は、sortmail をインストールした場所のフルパスです。 user あなた自身のものです
ユーザーID。 メールが到着すると、ユーザー ID を指定する必要があります。 ソートメール として実行できます
ルート、デーモン、またはその他の任意の数の uid。

一度あなたの 。前方 ファイルがセットアップされており、 ソートメール に従って受信メールを分類します
$HOME/.sortmailrc のパターン。 あなたの .sortmailrc ファイルはニュース KILL ファイルに似ていますが、
若干強力です。 郵便物を破棄したり、郵便受けに届けたり、受け取ったりすることができます
フォルダーにファイルしたり、別のアドレスに転送したり、シェルを介してパイプしたりすることもできます


以下のオプションとコマンドの長いリストを見て怖がらないでください。 新規ユーザーが行う可能性があるのは、
以下の「例」セクションにスキップするか、次の README とサンプル ファイルを読んでください。
/usr/share/doc/sortmail.

日時 ソートメール が起動すると、最初に次の構成ファイルを読み取ります: /usr/lib/sortmailrc、
/usr/local/lib/sortmailrc、/etc/sortmailrc、/usr/etc/sortmailrc、
/usr/local/etc/sortmailrc、$HOME/.mailrc、$HOME/.sortmailrc。

OPTIONS


-v 冗長。 メッセージは標準エラー出力または選択したログ ファイルに出力されます。
すべてのメールメッセージ。 XNUMX番目 -v より多くの情報が得られるようになります
印刷されます。

-簡潔 詳細度を 1 に設定し、タイムスタンプを省略します。

-home path ユーザーのホーム ディレクトリを設定し、ユーザーのディレクトリから取得したデフォルトを上書きします。
パスワードエントリ。

-メールボックス path システムのデフォルトを上書きして、ユーザーのシステム メールボックスを設定します。
(/ var / mail /user).

-mailrc path .mailrc ファイルを設定し、デフォルトの ~/.mailrc. パス 多分
として指定 /フルパス, ~/path, ~user/pathまたは path。 最後の形式は、
~/と同じpath.

-sortmailrc path
.sortmailrc ファイルを設定し、デフォルトの ~/.sortmailrc. パス
上記の -mailrc と同様に指定できます。

-受信トレイ ファイル名
標準入力ではなく、指定されたファイルから入力を取得します。 ファイル名は / になります。棄権
「〜/path", "~ユーザー/path"または"+フォルダ名POP2プロトコルを使用する場合、これは
オプションを使用すると、デフォルトのメールボックスの代わりに受信ボックスを選択できます。

-mbox 入力が複数のデータを含む標準の Berkeley メールボックスであることを示します。
単一のメッセージではなく、メッセージを送信します。 メールボックス全体を処理するために使用されます
一度に。

-ポップ ユーザー:パスワード@ホスト
Sortmail は指定されたサーバーに接続し、メールをダウンロードして処理します。
パスワードが指定されていない場合、ユーザーは対話的にプロンプ​​トを表示されます。 注意: it
is 非常に することをお勧めします コマンドでパスワードを指定します
マルチユーザー システム上の行については、以下を参照してください。

ソートメール Pop3 プロトコルと Pop2 プロトコルをこの順序で使用しようとします。 ために
明らかな理由により、ユーザー ID に「:」を含めることはできません。

多くのプロバイダーは、「@」を含むユーザー名を割り当てます。 [メール保護]。 に
この場合、 -pop への引数は次のようになります。
[メール保護]@pop.foo.com。

セキュリティ上の理由から、 ソートメール この情報を隠蔽しようとします。
「ps」コマンドですが、これはすべてのオペレーティング システムで機能するわけではありません(例:
ソラリス)。 パスワードを指定することは強くお勧めしません。
この理由からコマンドライン。

-ポップ /道 -pop コマンドのこのバリアントは、指定されたファイルから XNUMX 行を読み取ります。
ファイル、含まれる ユーザー:パスワード@ホスト。 これは指定するよりも安全です
コマンドラインのパスワード。 ファイルは完全なものとして指定する必要があります
「/」で始まるパス名。

-ポップ3 ユーザー:パスワード@ホスト

-ポップ3 /道 Sortmail は指定された Pop3 サーバーに接続し、メールをダウンロードし、
それを処理します。

-ポップ2 ユーザー:パスワード@ホスト

-ポップ2 /道 Sortmail は指定された Pop2 サーバーに接続し、メールをダウンロードし、
それを処理します。

-保つ POP使用時、または-inbox、-mbox指定時。 すべてのことを示します
メッセージは削除されずにソース入力ボックスに残されます。

-ノアポップ POP3 の場合は、APOP 認証を使用しないでください。 このオプションが使用されます
APOP を正しく処理しない壊れたサーバーを扱う場合。

変数=値 コマンドラインで変数を設定します。 スペースは使用できません
文字列。

-dumpCrcs データベース名
バウンスチェックデータベースをダンプします データベース名.{dir,pag} はデバッグ用です。

-確認 確認のみ。 mailrc ファイルと sortmailrc ファイルにエラーがないか調べて終了します。

-バージョン バージョンを印刷して終了します。 このオプションが失敗した場合は、バージョンが存在します
1.何か。

ソートメールRC FORMAT


.sortmailrc ファイルは、次の形式の一連の行です。

セッションに 変数=値

/正規表現/修飾子: command[: command...]

[IPアドレス]修飾子:コマンド..

[IPアドレス/マスク]修飾子:コマンド..

[IPアドレス - IPアドレス]修飾子:コマンド..

(論理式): command[: command...]

インクルード ファイル名

リストインクルード ファイル名

リスト除外 ファイル名

ヘッダ ヘッダーライン

replace ヘッダーライン

バウンスチェック データベース名

コラボレー 正規表現 いずれかです ed(1)-スタイルの正規表現、 修飾子 のいずれかです i, t,
f, s, h, a, o, command の一つである m, j, v, f file, a file, d file, +fileまたは | command.
複数のコマンドを「:」で区切って XNUMX 行に配置できます。 「:」を配置する必要がある場合は、
何らかの理由でコマンド内では、「\」を使用してエスケープしてください。

rn スタイルの KILLfile のユーザーは、この形式に精通しているでしょう。

[IPアドレス] 形式では、照合するリテラル IP アドレス (例: 192.168.3.4) または
部分的な IP アドレス (例: 192.168.3)。 これは、次の点で正規表現と異なります。
「。」 文字は文字通り一致する必要があり、パターンは先頭で一致する必要があります (例:
129.192.168.3 は上記のパターンと一致しません。) (「[]」文字に注意してください。
ここではリテラルであり、オプションの引数を示しません。)

IP アドレスは範囲として指定することもできます。たとえば、「[192.168.0.0/16]」はすべての IP に一致します。
最初の 192.168 ビットに 16 を含むアドレス。 最後に、IP アドレスも
例: "[192.168.0.0 - "192.168.255.255]" として指定します。

検索 モディファイア


これらの修飾子は、正規表現が受信メールにどのように適用されるかに影響します。 の
デフォルトは「s」です。

i 大文字と小文字を区別しない。

o パターン内の変数は、sortmailrc ファイルの読み取り時に XNUMX 回だけ評価されます。 これがなければ
オプションを使用すると、パターンがテストされるたびに変数が評価されます。 パターンの場合
変数が含まれていない場合、この修飾子は効果がありません。

s メールの「Subject:」行を正規表現と照合してテストします。

t メールの「To:」、「Cc:」、および「Apparently-To:」行を通常の行と比較してテストします。
式です。

f メールの「From:」行を正規表現と照合してテストします。

r 受信メールの Received: 行を正規表現と照合してテストします。

h 受信メールのヘッダー全体を正規表現と照合してテストします。

a 受信メール メッセージ全体を正規表現と照合してテストします。

s、t、f、h、a の任意の組み合わせを使用できます。 何も指定されていない場合は、「s」が想定されます。

検索 コマンド


これらのコマンドは、検索パターンに一致するメッセージに対して実行されます。

:m メッセージをユーザーのメールボックスに送信します。

:m 住所
指定したアドレスにメールを転送します。

:j メッセージを削除します (「迷惑メール」)。

:e n 終了コードを次のように設定します n。 処理が完了すると、sortmail は次のように終了します。
ゼロの代わりに指定された終了コード。

:E n 終了コードを使用してすぐに終了します n.

:k メッセージを保存してください。 POP サーバーからメッセージをダウンロードするとき、または -inbox を実行するとき
および -mbox を指定すると、通常、メッセージはメールボックスから一度削除されます
転送は成功しました。 このオプションを選択すると、メッセージが残されます。

:f フォルダ 指定されたメール フォルダーにメッセージを追加します。 フォルダ 形式にある可能性があります
~/path、/棄権ユーザー/パス、または +。 後者の形式は次のように展開されます。
~/フォルダ名 コラボレー フォルダ に指定された値です。 $ folder 変数
(デフォルトは「フォルダ

:+フォルダ 「」の略記f +フォルダ".

:d file メッセージをダイジェスト形式で指定されたファイルに追加します。 file 形式にある可能性があります
~/path、/棄権ユーザー/パス、または +.

「ダイジェスト」フォームは、各メッセージに「From:」のみが含まれる、取り除かれたフォームです。
「件名:」および「日付:」ヘッダーとメッセージはダッシュ線で区切られます。

:a file "アーカイブ"。 消化するのと同じです。

:| command
指定されたメソッドを介してメール メッセージをパイプ処理します。 シェルコマンド. sh(1)を使用します。

:c 処理を続行します。 通常は、 ソートメール 検索式をメールに適用する
一致するものが見つかるまでメッセージを送信します。 この時点で、メッセージはディスパッチされ、
ソートメール 終わりました。 このコマンドにより、 ソートメール 比較を続けるには
より多くのパターンへのメッセージ。 このオプションは、「続行」、「Cc」、または
気まぐれに「コピー」。 したがって、メッセージは複数の宛先に送信される場合があります。

コマンド


以下は、.mailrc または .sortmailrc 内に含まれる可能性のあるコマンドのリストです。
ファイルにソフトウェアを指定する必要があります。

セッションに 変数 =
環境変数を設定します。 sortmail で使用される変数を以下に示します。 引用
文字列の周囲は必要ありません。 「$」や「\」などの特殊文字は使用できます。
「\」で囲みます。 変数は、次の形式の値文字列内に含めることができます。
$ または ${}.

なお、 セッションに コマンドは、initfile が読み取られるとすぐに処理されます。 他の
コマンドはメール メッセージが読み取られるときに処理されます。 したがって、すべて セッションに コマンドは
init ファイル内の順序に関係なく、他のコマンドよりも前に処理されます。

リストインクルード ファイル名
メーリング リストの管理に使用されます (下記を参照)。 そうでない場合は、このコマンドを無視してください
sortmail を使用してメーリング リストを管理します。

このコマンドは、アクセスが許可されるアドレスのリストを含むファイルを指定します。
リストに投稿します。 ファイルの各行には XNUMX つの正規表現が含まれています。
はリストメンバーの電子メールアドレスを表します。 フォーマット内の行数

ユーザー名

のみを使用します 住所 ラインの一部。 これにより、メーリング リスト自体が
インクルードリストとして使用されます。

複数のインクルード リストを複数指定できます。 リストインクルード コマンド。 の場合
listinclude コマンドが使用される場合、リストへの投稿者は少なくとも XNUMX つの場所で見つかる必要があります。
リスト。 インクルード ファイルが指定されていない場合は、誰でも投稿できます。

拒否されたメッセージは次に従って処理されます。 $拒否 変数、
存在し、ファイル名または検索コマンドのいずれかを含む必要があります (以下を参照)。

包含ファイルと除外ファイルの詳細については、を参照してください。 郵送 コンストラクタ下記。

リスト除外 ファイル名
リストへの投稿を許可しないアドレスのリストを指定します。 同じ
次のようにフォーマットします リストインクルード。 リストに投稿するには、ユーザーが
リストインクルード ファイル (ある場合) と 会場は リスト除外 ファイル。

replace ヘッダ:
メーリングリストの処理に使用されます。 指定されたヘッダーに一致するヘッダー行は次のとおりです。
新しい値に置き換えられます。 一致するものが見つからない場合は、その行が
メッセージヘッダー。 通常、「From:」ヘッダーを変更してリストを指定するために使用されます。
発信者ではなくアドレスを設定し、「Errors-To:」ヘッダーを設定します。

Status フィールドが空の場合、指定されたヘッダー行が削除されます。

ヘッダ ヘッダ:
と同じフォーマット replaceただし、ヘッダー行は常にヘッダーに追加される点が異なります。
交換されていません。 通常はコメントを追加するために使用されます。

バウンスチェック データベース名
メールループを検出するための最後の手段のメカニズム。 テキスト部分の crc-32 ハッシュ
メッセージが計算され、保存されます。 データベース名.{ディレクトリ,ページ}。 別のメッセージがあれば、
次の 60 日間に同じハッシュ コードが見つかった場合、メッセージは拒否され、
に記載されているように処分される $拒否

ただし、壊れたメーラーが追加することを選択する可能性があるため、これは完璧なメカニズムではありません。
メッセージを返送する前にコメントを追加してください。

インクルード ファイル名
指定されたファイルからコマンドを処理します。 インクルード ファイルはネストされる場合があります。

変数


変数は $ の形式で使用されます。 または ${}。 変数は、
初期化ファイル。

ソートメール 次の変数を使用します。これらの変数は環境によって変更される可能性があります。 .mailrc or .sortmailrc
ファイル。 変数はコマンドラインでも設定できます。

デフォルト 分類できないメールを処理するために使用されるコマンド。 デフォルトの動作は、
分類できないメール メールボックス。 別の適切な値は「+その他".

遅らせる 暴走メール ループを防ぐために使用されます。 特にメーリングリストに役立ちます
管理。 メールが送信されるまでの遅延時間を秒単位で指定します。
別のアドレスに転送されるか、コマンドを通じてパイプされます。 たとえば、
600 秒の遅延 (XNUMX 分) では、メール ループが XNUMX ごとに XNUMX つのメッセージに制限されます。
分。

フォルダ ユーザーのメール フォルダー ディレクトリ。 メールフォルダーは先頭の「+」で示されます。
それらの名前は ~ に保存されますユーザー/$フォルダー/. デフォルトは「フォルダ"。 多くの
人々は代わりにこれを「メール」に設定することを選択します。

from メーリングリストの管理に使用されます。 「From」行の値を指定します
メールがリストに転送されるとき。 sendmail のすべてのバージョンが対応するわけではありません
これ。 sortmail suid-uucp を作成するか、ユーザー名を
/etc/sendmail.cf の「信頼できるユーザー」エントリ。

ホーム ユーザーのホームディレクトリ。 初期化ファイルとユーザーの
フォルダ ディレクトリ。 デフォルトは ~user.

ライン メッセージ内のテキストの行数。 sortmail によって設定され、毎回更新されます
メッセージ。

ログファイル デバッグ メッセージは、指定されたログ ファイルに送信されます。 sortmailを実行した場合
コマンドラインからの場合、デフォルトは stderr です。 それ以外の場合、デフォルトは
/tmp/sortmail.log。

ログファイルを開けない場合は、stderr が使用されます。 sortmail を使用する場合の注意点
.forward ファイルから受信メッセージ、stderr に送信されたメッセージをフィルタリングします。
バウンスとして送信者に送り返されます。

メールボックス ユーザーのメールボックス。 デフォルトは / var / mail /user.

メールRC ユーザーのフルパス .mailrc ファイル。 これを変更することに実質的な意味はありません。

最大線 パターンマッチング中に検索されるメッセージ行の最大数。
この値を制限すると、検索が速くなり、 / tmpに ディレクトリにジョブを開始します。
充填から。 デフォルト値は 5000 です。

拒否する メーリングリストの管理に使用されます。 対象となるファイルまたはコマンドを指定します。
拒否されたメールが送信されます。

sendmail メールを配信するために使用されるコマンド。 デフォルト値は「/usr/lib/sendmail -オム、オイ」。
文字列内に「%f」が含まれる場合、一時ファイル名に展開されます。
メッセージが含まれています。 それ以外の場合、メッセージは
コマンドの標準入力。

特別な値「SMTP」および「SMTP ホスト名」によりメッセージが配信されます。
SMTP ポートに直接接続します。

サイズ メッセージのサイズ (バイト単位)。 sortmail によって設定され、メッセージごとに更新されます。

ソートメールrc
ユーザーのフルパス .sortmailrc ファイル。 変えることに本当の意味はない


タイムアウト POP 接続のタイムアウト (秒単位)。

user 誰を代表するユーザー ソートメール が走っています。 この値は必ず指定する必要があります。
sortmail が .forward ファイルから実行されるときのコマンドラインですが、
後で変更されました。 これは、特にユーザーのホーム ディレクトリを決定するために使用されます。
物事。

休暇 設定されている場合は、次の宛先にメールしてください user もパイプ経由で送信されます 休暇とします。

TMPDIR 一時ファイルに使用されるディレクトリ。 デフォルトは「/ tmpに".

加えて、 ソートメール メッセージを渡す前に次の環境変数を定義します
別のプログラムへ。

FROM メッセージの送信者

SUBJECT 受信メッセージの件名


ここにサンプルがあります .sortmailrc ファイル:

デフォルトを設定=+その他
/MAILER-DAEMON/f:+バウンス
/ファルク/t:m
/bldg8/t:m
/ジョー/f:m:c
/ブレンダ用/s:k
/スキューバクラブ/t:+スキューバ
/スキューバ/s:+スキューバ
/マルコ/f:j
/testing/t:m false@lab
/jym@apple/f:| /home/falk/bin/fixjim
/^優先順位: ジャンク/h:+other
(/bill/f && /dive/s):+スキューバ
[211.114.0.0/16]r:j

この例では、フォルダー ディレクトリとその他の変数には、以前の値がすべて含まれます。
で指定 .mailrc。 分類できないメールは「+other」フォルダに送信されます。 からのメール
「MAILER-DAEMON」は「+bounces」フォルダに送信されます。 「falk」または「bldg8」にメールが送信されます
私のメールボックスに直接。

友人のジョーからのメールは私のメールボックスに直接送信され、順番に処理が続行されます。
他に行くべき場所があるかどうかを確認してください。

「for brenda」というラベルが付いたメールは、POP サーバーにそのまま残されます。 (これは次の場合にのみ機能します。
電子メールは POP サーバーからダウンロードされています。 そうしないと失われます。)

スキューバ クラブ宛てのメール、または件名に「scuba」を含むメールは、「+scuba」フォルダーに送信されます。
marko からのメールは未読のまま捨てられます。 「testing」エイリアスへのメールは私のメールアドレスに転送されます。
別のマシン上のアカウント。

面白い方法でメールをフォーマットする友人 jym からのメールがシェルを通過します
彼のメッセージをクリーンアップして私のメールボックスに追加するスクリプト。 メールメッセージ
ヘッダー内の「^優先: ジャンク」は +other にファイルされます。

最後から 2 行目は、sortmail バージョン XNUMX の新機能である論理式を示しています。 の
この場合、請求書からの件名が「dive」のメールが scuba フォルダーに追加されます。 論理的
式については以下で詳しく説明します。

最後に、最後の行は、sortmail バージョン 2 の新しい機能である IP 範囲を示しています。 の
この場合、「受信:」に「211.114.0.0/16」の範囲の IP アドレスを持つすべての電子メールが含まれます。
lineは未読のままジャンクされてしまいます。

パターンは指定された順序で適用されることに注意してください。 たとえば、次のことが重要です。
「MAILER-DAEMON」パターンは「falk」パターンの前にあるため、MAILER-DAEMON からのメールは
私個人に宛てられたものであっても +bounces に提出してください。 同様に、marko からのメールは送信されません。
私個人宛の場合はジャンク扱いとなります。

ロジカル 表現


論理式を使用すると、メールを処理するためのより複雑なルールを指定できます。 ために
たとえば、特定のドメインからのサイズが XNUMX を超えるすべてのメールを受信するように指定できます。
特定のキーワードがヘッダー内に見つからない限り、未読のまま削除される可能性がある部分は一定量です。

論理式は、優先順位に従ってグループ化された次の演算子で構成されます。

┌─────┬───────────── ───┐
n │ 整数定数 │
│ $VAR │変数。 │
│/パターン/ │ 正規表現。 0または1で評価します。
§─────┼─────────────── ────┤
│ ! │ 論理的ではありません │
§─────┼─────────────── ────┤
│ * │ 掛ける │
│ / │ 割る │
§─────┼─────────────── ────┤
│ + │ 追加 │
│ - │ 引く │
§─────┼─────────────── ────┤
│ < │ 未満 │
│ <= │ 以下 │
│ > │ より大きい │
│ >= │ 以上 │
§─────┼─────────────── ────┤
│ == │ 等しい │
│ != │ 等しくない │
§─────┼─────────────── ────┤
│ & │ 論理積 │
│ && │ 論理積 │
§─────┼─────────────── ────┤
│ | │ 論理和 │
│ || │ 論理和 │
§─────┼─────────────── ────┤
│ , │ カンマ │
━─────┴─────────────── ────┘
式の評価における優先順位は、括弧を使用することで変更できます。

「:」コマンドは右括弧または正規表現の後に続けることができます。 以下の例を参照してください。

論理 AND および OR 演算の XNUMX 番目の形式 (「&&」および「||」) は、このバージョンで最適化されています。
方法: AND の左半分が false の場合、または OR の左半分が true の場合、
右手は評価されません。 したがって、単純な式 (次のような) を配置する必要があります。
件名の一致など)を左側に、複雑な式(メッセージ本文の検索など)を左側に入力します。
右。 単純な式がそれぞれ false または true と評価される場合、複雑な式は
表現はテストされていません。

論理 AND および OR 演算の最初の形式 (「&」および「|」) は常に、次の両側をテストします。
表現。

カンマ演算子については、C 言語に詳しくない人のために少し説明する価値があります。
言語。 カンマ演算子は両側の式を評価し、
右側の式 -- 左側の式を無視します。 したがって、式「3 , 4」は
4 として評価されます。カンマ演算子は、左側の式に次の条件がある場合にのみ役立ちます。
評価時に何らかの副作用が発生します。つまり、「:」コマンドが含まれています。

いくつかのサンプル式を次に示します。

(/ジョー/f):m

ジョーからのメールが私に直接届きます。 これは/joe/f:mと同じです

(/ジョー/f && /dive/s):+スキューバ

件名に「dive」を含むジョーからのメールは、scuba フォルダーに送信されます。

(/ジョー/f && !/dive/s):m
/ジョー/f:+スキューバ

ジョーからのメール 無し 件名の「dive」は私に直接当てはまります。 そうでなければ、ジョーからのメール
スキューバフォルダーに移動します。

(/joe/f && $lines > 1000):j

ジョーがまた長く退屈な休暇の報告をスキューバ リストに投稿したようです。 ジャンクだ。

(/earthlink/r && $size > 32768 &&
!(/キーウェスト/ia || /ケイマンズ/ia) ):j

アースリンクから来たもの、またはアースリンクを通過したものはジャンクします (Received: 行で示されているように)。  
サイズが 32k を超えています   「キーウェスト」または「ケイマンズ」というフレーズは含まれていません
メッセージ本文のどこにでも。 本文検索では大文字と小文字は無視されます。 調査することに注意してください
メッセージが不必要にダウンロードされるのを避けるために、メッセージ本文は最後に記述してください。

必要に応じて、論理式が複数行にまたがって続く場合があることにも注意してください。

(1):+メールログ:c

極めてシンプルな表現。 (1) は常に true なので、これに届くすべてのメールは
式は「maillog」フォルダーにファイルされます。 「:c」コマンドにより、処理が行われます。
続けます。

この式は、.sortmailrc をテストするときに .sortmailrc の先頭に置くと非常に良い式です。
新しい構成。 すべての受信メールは、複雑になる前にバックアップ ログにコピーされます。
表現がテストされます。

(/ジョー/f:+ジョーメール && /scuba/:+scuba)

この例は、式内での「:」コマンドの使用を示しています。 ジョーからのメールの宛先
「ジョーメール」フォルダー。 件名に「scuba」も含まれている場合は、scuba に進みます。
フォルダーも同様です。

(/ジョー/f:+ジョーメール、/scuba/:+scuba)

この例は、「,」演算子の使用法を示しています。 joe からのメールは joemail フォルダーに送信されます。
これが一致するかどうかに関係なく、メールは再度テストされ、スキューバに属するかどうかが確認されます。
フォルダ。 そうであれば、処理は終了する。

(/セックス/:+セックス && /ドラッグ/:+ドラッグ && /ロックンロール/:+ロック):+バッカナリア

このパターンは、意図されているように見えることを実行しません。 つまり、最初は
一見すると、このパターンは「セックス」を含むすべてのメッセージを
件名はセックスフォルダーに、「薬物」メッセージはすべて薬物フォルダーに、すべて「ロックン」
「ロール」メッセージをロックフォルダに入れる   メッセージが存在する場合は、bacchanalia フォルダーにメッセージを配置します。
XNUMX つのキーすべてが一致します。 ただし、論理式は以下の範囲でのみ評価されます。
必要。 「性別」パターンが一致しない場合、次の XNUMX つはまったくテストされません。
このパターンでは「ロックンロール」メッセージが失われます。

この場合、「&&」の代わりに「&」演算子を使用する必要があります。

郵送 コンストラクタ


sortmail を使用してメーリング リストを管理しない場合は、このセクションをスキップしてください。

同種環境では、通常、sortmail などを使用する必要はありません。
メールフィルター。 エイリアスを作成するだけです /etc/aliases させて sendmail(8)ハンドル
すべて。

ただし、異種環境では問題が発生する可能性があります。 インターネット上の文書
Rfc822 はインターネット メールの処理を規定していますが、世の中には多くのメーラーが存在します。
Rfc822 を尊重しないと問題が発生します。 当然のことですが、主要なサービスの多くは
プロバイダーは最悪のトラブルメーカーの XNUMX つです。

通常起こるのは、何らかの理由で、メーリング リストのメンバーが突然、
メールを受信できません。 ユーザー側のサービスプロバイダーがエラーメッセージを返送する
元の送信者や管理者ではなく、リスト自体に送信されます。 エラー
その後、メッセージはリストの購読者 (受信できない人も含む) に再送信されます。
メールが送信され、別のバウンスが発生します。 これにより、バウンス メッセージの送信と再送信というループが作成されます。
数分ごとにループ上の全員に送信します。 マーフィーの法則はこうなると言っています
休暇中。

メーリング リストを管理する方法は次のとおりです。

まず、(root として) 編集します /etc/aliases 次の行を追加します。

スキューバクラブ: "| /usr/あなたの名前/sortmail -sortmailrc scubaclubrc あなたの名前"
スキューバクラブ-リアル: :include:/usr/あなたの名前/scubalist
スキューバクラブリクエスト: あなたの名前
オーナー-スキューバクラブ: あなたの名前

最初のエントリは、スキューバ クラブへのメールが sortmail を介して送信されることを示しています。
特定のsortmailrcファイル。 XNUMX 番目のエントリは、実際のスキューバ クラブのエイリアスです。
sortmail はメールを転送します。 XNUMX 番目のエントリは標準リストのアドレスです。
ユーザーがあなたに直接連絡するために使用します。 これはどのメーリング リストにも常に存在する必要があります。 の
最終エントリは、sendmail システムが内部エラーを送り返すために使用されます。

(ほとんどの UNIX システムでは、次のコマンドを実行する必要があります。 newaliases(8) /etc/aliases を編集した後。)

次に、全員の名前とアドレスを含む /usr/yourname/scubalist を作成します。
リスト。
あなたの名前
ジョー・シュモー[メール保護]>
ジェーン・ドウ[メール保護]>
(等。)

XNUMX 番目に、受信メールのフィルタリングに使用される sortmailrc ファイルを作成します。

# 一般変数

エイリアス = scubaclub を設定します
所有者 = あなたの名前を設定します
サイトを設定 = yourhost.com
ダイジェストディレクトリを設定 = ~/メーリスト/スキューバクラブ

# フィルターを通過したメールは次の宛先に送信されます
# リストとアーカイブ。
デフォルトを設定 = m $alias-real@$site:a $digestDir/archive

# 拒否されたメールが私に送信されます
セット拒否 = m $owner

# バウンスまたはループのように見えるものをすべてキャッチします

/メーラーデーモン/f:m $owner
/MAILER-DAEMON/f:m $owner
/ポストマスター/f:m $owner
/scubaclub/f:m $owner
/X-リスト名: スキューバクラブ/h:m $owner
bouncecheck $digestDir/bounceDb

# (何らかの理由で、Errors-To を $owner@$site に設定できません。
# そうする場合、sendmail は $owner を
# SMTP に接続する前の値が無効です。 おそらくそうでしょう
# 個人用の .forward ファイルがなくても大丈夫。 追加することで
# アドレスに '\' を追加すると、問題が回避されます。)

Reply-To を置き換えます: $alias@$site
エラーの置換先: \\$owner@$site
ヘッダー コメント: 追加/削除リクエストを $alias-request@$site に送信します
ヘッダー X リスト名: $alias

この例では、変数 $alias、$owner、$site、$digestDir は使用されません。
内部的には sortmail によって作成されますが、利便性と汎用性を目的として作成されています。

検索パターンは、メール ループの可能性を検出するために使用され、常にメールを送信します。
オーナーへ。 どのパターンにも一致せずに作成されたメールは、
リスト。

最後の手段として、メールは bouncecheck コマンドによって処理されます。
以前に見たメッセージのデータベースを作成し、次のようなメッセージを拒否します。
繰り返す。

メールがすべてのパターンに一致せずに通過した場合、それはおそらく有効なメッセージです。 の
この場合、メッセージは次のコマンドによって処理されます。 $other、メッセージの送信先
実際のエイリアスに、メッセージのダイジェスト バージョンを追加します。
~/メーリスト/スキューバクラブ/アーカイブ。

最後に、送信メールのヘッダーが変更されます。 「Reply-To:」ヘッダーが追加されるので、
リストからのメールに返信したものは、そのリストだけでなくリスト全体に送信されます。
元のメッセージの送信者。 「Errors-To:」ヘッダーが追加され、バウンスが
通常はリストではなく管理者に送信されます。 (すべてのメール転送ではありません)
エージェントは「Errors-To:」ヘッダーを尊重します。)

「X-List-Name:」ヘッダー行には XNUMX つの目的があります。 まず、受信者に内容を知らせます。
彼らは受け取っているのです。 XNUMX 番目に、これはバウンスを検出するために使用されるトリックです。 追加されているので、
受信メール内で検索される可能性があります。 受信メッセージにこれが含まれている場合
ヘッダーを確認すると、これはバウンスである可能性が高く、管理者に送信されます。
検査。

リストのメンバーの一部がメッセージを「ダイジェスト」形式で受信したい場合は、メッセージを分割することができます。
リストは XNUMX つのセクションに分かれており、XNUMX つは通常のセクション、もう XNUMX つはダイジェストが必要なメンバー用です。 を追加します。
次の行へ /etc/aliases:

スキューバクラブダイジェスト: :include:/usr/あなたの名前/scubadigest

/usr/yourname/scubaclubrc の $default を変更します。

デフォルトを設定 = m $alias-real@foo:a $digestDir/archive:d $digestDir/digest

これで、受信メッセージは次の場所にコピーされます。 ~/メーリスト/スキューバクラブ/ダイジェスト と同様に
~/メーリスト/スキューバクラブ/アーカイブ。 毎晩、以下をテストするプログラムを実行します。
かどうかを確認します ~/メーリスト/スキューバクラブ/ダイジェスト 空でない場合は、scubaclub にメールしてください。
ダイジェスト@yourhost を実行して空にします。

#! /bin/sh
#
# ダイジェスト ファイルを収集し、ヘッダー情報を付加して送信します

ダイジェスト=/usr/あなたの名前/メールリスト/スキューバクラブ/ダイジェスト
別名=スキューバクラブ
ホスト=あなたのホスト.com

もしも [ ! -s $ダイジェスト ] ; それから
0番出口
fi

猫 $ダイジェスト | ああ」
ベギン {
print \"リターンパス: $alias@$host\"
print \"日付: `date`\"
print \"From: $alias@$host\"
print \"宛先: $alias@$host\"
print \"件名: $alias ダイジェスト\"
print \"X リスト名: $alias\"
「」を印刷します
「」を印刷します
}
{印刷}" | \
/usr/lib/sendmail -om -oi -f$alias@$host $alias-digest

rm $ダイジェスト
$ダイジェストにタッチ
chmod a+w $digest

注意事項


sortmail は任意のユーザー ID (ルート、デーモン、送信者など) で実行できることに注意してください。
メールの)誰がメールを送信したか、そしてそれが地元から来たかどうかに応じて異なります。
マシーン。 このため、利用できるユーザー環境に依存することはできません。
特に環境変数とパス。 すべてのファイル名とプログラム名は次のようにする必要があります。
フルパスとして指定します。ただし、「~」、「~user」、および「+folder」形式は理解されます。 の
sortmail とそのパスに沿ったすべてのディレクトリの権限は、すべてのユーザーがアクセスできるようにする必要があります。
それを実行できる。

受信メールをプログラム経由でパイプする場合、そのプログラムは出力を生成すべきではありません
stdout または stderr に何でも構いません。 存在する場合、その出力は
メールがバウンスされたかのように、メールの発信者に通知されます。

特にメール リストを管理する場合は、必ずセットアップを徹底的にテストしてください。 間違い
通常、バウンス メッセージがメールの発信者に送信されます。 これは可能です
メールリストに関しては壊滅的です。 メールリストをテストするときは、テストリストから始めます
バウンス処理をテストするために、あなたの名前と既知の不正なアドレスのみが含まれています。 の使用
ログファイルと -v インストール後の最初の数日間は推奨されます。

バウンス検出メカニズムは堅牢であるように努めますが、よく言われるように、
一部の愚か者は巧妙なので、絶対確実なシステムを作成してください。 どんなに徹底しても
検出メカニズムは、どこかに壊れたメーラーが存在し、それを破ることができるというものです。
ボーマンは

メーリングリストを放置しないでください。 バウンスループが常に始まるのはこのときです。 もしも
休暇に行く場合は、リストを一時的に閉鎖するか、できる人を指名してください。
緊急時にはオフにしてください。

EXIT ステータス


次の終了値が返されます。

0 正常に終了し、メールは正常に配信されました。

1 通常終了しますが、待機中のメッセージはありません (-mbox および -pop オプション)

2 コマンドラインオプションのユーザーエラー。

3 .mailrc または .sortmailrc ファイルにエラーがあります。

4 メモリ不足

5 ユーザー名を特定できません

6 ユーザーディレクトリを特定できません

7 一時ファイルを開けません。 この場合、 ソートメール 書き込みによって回復を試みます
ユーザーの受信箱に受信したメール。

8 バウンスチェックデータベースを開けません (-dumpCrcs コマンド)

9 入力ファイルを開けません (-inbox オプション)。

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


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad




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