ユーザ管理のコマンド

コントロールソケットを操作する際には、userがシステムに入力される全てのメールアドレスです。アドレスのコントロールには以下のコマンドを使用します。

email-set client-email [settings] - クライアントに対するemailアドレスの作成またはアップデートで、client-email内で設定されます。アドレスが無い場合は作成され、settings内に指定されていない設定があった場合、それらの設定にはデフォルト値が設定されます。
email-remove client-email - クライアントに対するemailアドレスの削除で、client-email内で設定されます。ユーザは全てのグループからも削除されます。アドレスが存在しない場合や、エイリアスであった場合はエラーが出力されます。
email-rename client-email email - 1つ目のパラメータで設定されたメインユーザアドレスを、2つ目のパラメータで設定されたアドレスに変更します。1つ目のパラメータ内にアドレスが存在しない、アドレスがエイリアスである、または新しいアドレスが既に存在する場合、エラーが出力されリネームは実行されません。
email-set-groups client-email [list-of-groups] - client-emailアドレスを含むグループのリストを設定します。グループの順番は重要です(リストの最後にあるグループ設定の優先度が高くなります)。

list-of-groupsが空の場合、client-emailアドレスに対するリスト内のグループが全て削除されます。list-of-groupsリスト内では複数のグループは空白で区切って列挙します。client-emailまたはあるグループがリスト内に存在しない場合、エラーが出力され、アクションは実行されません。リスト内に同じグループが2つ存在する場合もエラーが出力されます。client-emailがエイリアスの場合、元の受信者がアップデートされます。list-of-groupsリストにclient-idが指定されている場合、それがclient-emailアドレスのclient-idと一致する必要があります。一致しない場合はエラーが出力されます。list-of-groupsのエイリアス内でclient-idが指定されていない場合、client-emailclient-idと同じ値が取られます。

email-get-groups emails-list - emails-listリストにあるアドレス全てのグループリストを受け取ります。あるアドレスがリスト内に存在しない場合エラーが出力されますが、コマンドの処理は続行されます。client-emailがエイリアスの場合、元の受信者に対する情報が出力されます。

出力書式:

client-id/email1: group1 group2 group3 ...

client-id/email2: group21 group22 group23 ...

グループ名に空白が含まれている場合、groupNを一重引用符で囲むことが出来ます。

email-get-rules emails-list - emails-listリストのアドレス全てに対する設定、またはルールを受け取ります。あるアドレスがリスト内に存在しない場合エラーが出力されますが、コマンドの処理は続行されます。エイリアスが送信される場合は、元の受信者に対する設定が出力されます。エラーは存在しないアドレス全てに対して出力されます。

出力書式:

[client-id1/]email1

1: rule1

2: rule2

...

[client-id2/]email2

1: rule21

2: rule22

...

email-insert-rule client-email index RULE - emailアドレス、およびclient-email内のクライアントに対するシーケンス番号インデックスを持った新しいルールの挿入です。emailまたはクライアントが存在しない場合、エラーが出力されます。数字(index)は1から始まります。indexの値が、指定されたemailに対するルールの最大値よりも大きい場合、ルールのリストの最後に新しいルールRULEが追加されます。インデックスindexが命令によって新しいルールに割り当てられます。

: emailに対して既にルールが2つ指定されている場合、index(=10を持った新しいルールを追加すると、リストの最後にindex(=3)を持ったルールとして追加されます。index ≤ 0の場合、およびRULEが空(ルールが指定されていないなど)の場合はエラーが出力されます。

変更が完了すると、現在のグループに対するルールがemail-get-rulesの出力書式で出力されます。

email-remove-rule client-email index - emailアドレスおよびclient-email内のクライアントに対する、シーケンス番号indexを持ったルールを削除します。数字(index)は1から始まります。client-emailが存在しない場合、エラーが出力されます。indexの値が、指定されたemailiに対するルールの最大値よりも大きい、またはindex ≤ 0の場合もエラーが出力されます。エイリアスが送信される場合、元のアドレスに対する設定がアップデートされます。

変更が完了すると、ルールはemail-get-rulesに対する出力書式で出力されます。

email-get-custom -tag emails-list - emails-listの各ユーザと接続された、tagの付いた情報を受け取ります。あるアドレスがリスト内に存在しない場合エラーが出力されますが、コマンドの処理は続行されます。tagの付いた情報が存在しない場合、空のストリングが出力されます。情報は1つのアドレスにつき1行ずつです。tagの代わりに"-"記号が指定されている場合、全てのタグに関する情報が出力されます。

出力書式:

[client-id1/]email1

tag: info..

[client-id2/]email2

tag2: info2..

email-set-custom tag client-email [info] - client-emailのユーザに対するtagと接続されたinfoテキストの設定です。ユーザが見つからない場合、エラーが出力されます。infoが指定されていない場合、ユーザに関する全ての情報を持ったタグが削除されます。
email-info emails-list - emails-listの全てのアドレスに関する完全な情報を受け取ります。あるアドレスがリスト内に存在しない場合エラーが出力されますが、コマンドの処理は続行されます。アドレスルールは全てのグループおよびアドレス設定に対してコンパイルされた表示で出力されます。エイリアスの場合、グループおよび設定に関する情報は元のアドレスのものになります。ルールの設定は最初にユーザ設定、次にグループの動作と逆の順番でグループ設定、という順番で出力されます。ルールをコンパイルする際にグループおよびユーザのアクティビティコントロールが考慮されます。

出力書式:

[client-id1/]email1 A=active1 S=stat1

name: name1

aliases: alias1 alias2 ..

groups: group1 group2

rules:

1: rule11

2: rule12

...

custom:

tag1: info1..

tag2: info2..

...

[client-id2/]email2 A=active2 S=stat2

name: name2

aliases: alias12 alias22 .. | alias for email2

groups: group3

rules:

1: rule21

2: rule22

...

custom:

tag21: info21..

tag22: info22..

...

グループ名に空白が含まれている場合、groupNを一重引用符で囲むことが出来ます。

エイリアスの出力書式:

[client-id1/]email1

aliases: alias for email

email-search [range:START/NUMBER] [email:part-of-email] [name:'part-of-name'] [ignore:alias|nonalias] - アドレスまたはアドレスの一部を検索します。START0で始まる数字)から始めて、NUMBERの数のアドレスを出力します。STARTおよびNUMBERが指定されていない場合、見つかったアドレス全てが出力されます。STARTおよびNUMBERが負の場合、エラーが出力されます。STARTおよびNUMBERの値が見つかったアドレスの数を上回っていた場合、その値に制限はありません(従って、制限のないSTARTに対してはアドレスがリストの最初から出力され、制限のないNUMBERに対してはリスト内の全てのアドレスが出力されます)。
opart-of-email - 検索されるメールアドレスのサブストリングかエイリアスです。指定されていない場合、既知のアドレスおよびエイリアスが全て出力されます。出力書式はemail-infoの出力と同じです。part-of-email内のユーザのユニークなIDは省略せずに指定してください。
opart-of-name - ユーザ名のサブストリングです(名前に一重引用符'が含まれている場合、その前に別の'を置く必要があります。サブストリングに空白が無い場合、囲む引用符は省略できます)。指定されたサブストリングを名前に含むユーザのみが出力されます。
oignore - 無視するレコードの種別を定義します。-alias(通常のアドレス内を検索)、nonalias-通常のアドレス(エイリアス内のみ検索)

emailnameが同時に指定されている場合、どちらの制限も満たすようなユーザのみが出力されます。ユーザ名がエイリアスに対して保存されていないので、エイリアスとユーザ名のサブストリングを同時に検索に使用することはおかしなことです。

email-count [range:START/NUMBER] [email:part-of-email] [name:'part-of-name'] [ignore:alias|nonalias] -プロセスはemail-searchと同じですが、見つかったアドレスの数が出力されます。