この節では、メッセージのサイズ制限、ユーザー制限容量、権限を設定するキーワードについて説明します。この章には、次の節があります。
このキーワードを使用すると、1 つのセッションで許可される認証の試行失敗の回数を制限できます。この回数に達するとセッションの接続は切断されます。このオプションのデフォルト値は 3 です。
キーワード: blocklimit、noblocklimit、linelimit、nolinelimit、sourceblocklimit
メッセージは断片化によって自動的に小さな部分に分割されますが、場合によっては、管理者が指定した制限より大きいメッセージを拒否しなければならないこともあります (たとえば、サービス拒否攻撃を回避するためなど)。
blocklimit、linelimit、および sourceblocklimit キーワードは、絶対的なサイズ制限を実施するために使用されます。これらのキーワードの後ろには、それぞれ 1 つの整数値が必要です。
blocklimit キーワードは、1 つのメッセージに許可するブロックの最大数を指定します。MTA は、これよりも多いブロックを含むメッセージがチャネルのキューに入れられるのを拒否します。1 つの MTA ブロックは通常 1024 バイトで、これは MTA オプションファイルにある BLOCK_SIZE オプションを使用して変更することができます。
sourceblocklimit キーワードは、着信メッセージに許可するブロックの最大数を指定します。MTA は、これよりも多いブロックを含むメッセージがチャネルのキューに入れられるのを拒否します。つまり、blocklimit は宛先チャネルに、sourceblocklimit はソースチャネルに適用されます。1 つの MTA ブロックは通常 1024 バイトで、これは MTA オプションファイルにある BLOCK_SIZE オプションを使用して変更することができます。
ソースブロック制限を、差出人ごとに指定することもできます。MTA オプション LDAP_SOURCEBLOCKLIMIT を使用してユーザー LDAP 属性を指定し、この属性を差出人の LDAP エントリに追加します。ソースブロック制限は差出人のドメイン単位でも指定できます。この場合は、MTA オプション LDAP_DOMAIN_ATTR_SOURCEBLOCKLIMIT を使用してドメイン LDAP 属性を指定し、この属性を差出人のドメイン LDAP エントリに追加します。上記のどちらの場合にも、デフォルト値は設定されていません。
linelimit キーワードは、1 つのメッセージに許可する最大行数を指定します。MTA は、この数以上の行を含むメッセージがチャネルのキューに入れられるのを拒否します。blocklimit キーワードと linelimit キーワードは、必要に応じて同時に指定することができます。
同じ制限をすべてのチャネルに課すためには、LINE_LIMIT および BLOCK_LIMIT オプションを使用します。これらの制限は、すべてのチャネルに適用できるという利点があります。したがって、MTA サーバーは、メッセージ受信情報を得る前に、それをメールクライアントに知らせることができます。この効果によって、メッセージ拒否の処理を簡略化できるプロトコルもあります。
nolinelimit および noblocklimit チャネルキーワードはデフォルトであり、LINE_LIMIT や BLOCK_LIMIT MTA オプションで適用されている全体的な制限以外の制限がないことを意味します。
キーワード: alternatechannel、alternateblocklimit 、alternatelinelimit、alternaterecipientlimit
MTA では、受取人数、サイズ、または行数の指定制限を超えるメッセージを別の宛先チャネルに再ターゲットできます。これは alternatechannel、alternateblocklimit、alternatelinelimit、および alternaterecipientlimit のチャネルキーワードのセットで実装されます。これらのキーワードは、任意の宛先チャネルに指定できます。alternatechannel キーワードは、使用する代替チャネルの名前を指定する単一の引数をとります。これ以外のキーワードはそれぞれ、対応するしきい値を指定する整数の引数を受け入れます。これらのしきい値のいずれかを超えるメッセージは、元の宛先チャネルではなく、代替チャネルのキューに保管されます。
次のチャネルブロックの例では、tcp_local チャネルからインターネットに送信されるはずだった 5,000 ブロックを超える大きなメッセージが tcp_big チャネルから送信されています。
tcp_local smtp ...other keywords... alternatechannel tcp_big alternateblocklimit 5 tcp-daemon tcp_big smtp ...rest of keywords... tcp-big-daemon |
次に、alternate* チャネルキーワードの使用例を示します。
大きなメッセージを後でまたは時間外に配信する場合は、alternatechannel (たとえば tcp_big) を実行する時間が指定できます。
その方法の 1 つは、imsimta qm ユーティリティーの STOP channel_name コマンドおよび START channel_name コマンドを使用することです。ジョブコントローラによって実行されるカスタムな定期的ジョブまたは cron ジョブを介して、これらのコマンドを定期的に実行します。
ジョブコントローラで大きなメッセージや受取人の多いメッセージを専用のプールで処理する場合は、alternatechannel も使用できます。
小さなメッセージや受取人の少ないメッセージは、大きなメッセージや受取人の多いメッセージと分離できます (後者はリモート SMTP サーバーでの処理と受け入れに時間がかかることがあるため)。大きなメッセージのせいで小さなメッセージの配信が遅れるのを避けたい場合は分離します。
ジョブコントローラによる通常のメッセージスケジュールおよびスレッドやプロセスへのメッセージの割り当ては、ほとんどの構成で受け入れられます。
大きなメッセージや受取人の多いメッセージに対して TCP/IP チャネルのタイムアウト値を特別に指定する場合は、alternatechannel を使用できます。
特に、TCP/IP チャネルのタイムアウト値を設定すると、大きなメッセージや受取人の多いメッセージを受信するのに非常に長い時間を要するリモートホストにメッセージを送信する場合に役立ちます。
ただし、ほとんどの構成にはデフォルトの自動のタイムアウト調整で十分です。デフォルト値を調整することはあっても、特別なチャネルを使用する必要はありません。詳細については、『Sun Java System Messaging Server 6 2005Q4 Administration Reference』で STATUS_DATA_RECV_PER_ADDR_TIME および STATUS_DATA_RECV_PER_BLOCK_TIME の各チャネルオプションを参照してください。
特に大きなメッセージに対して MIME メッセージの断片化を特別に設定する場合は、alternatechannel および alternateblocklimit チャネルキーワードを maxblocks チャネルキーワードとともに使用できます。
指定したサイズを超えるメッセージを断片化する場合は、通常、指定したい maxblocks サイズを通常使用する送信 TCP/IP チャネルに設定します。maxblocks チャネルキーワードは、通常、断片化が実行されるしきい値でもあり、各断片のサイズでもあります。
しかし、しきい値トリガーを大きくし、実際の断片を小さくする場合は、送信 TCP/IP チャネルに対して alternatechannel および alternateblocklimit を使用できます。その後、代替チャネルに対して maxblock サイズを使用し、指定サイズを超えたメッセージを断片化できます。
alternatechannel を特別なフィルタ処理とともに使用することができます。たとえば、受取人が多いメッセージがスパムである可能性に備えてより慎重な検査が必要な場合です。送信チャネルに基づいて、別のフィルタ処理を行うことができます (「メールボックスフィルタファイルの場所を指定する」の destinationfilter チャネルキーワードを参照)。
変換チャネルを介して比較的多くのリソースを必要とするスキャン (ウィルスフィルタ処理など) を実行している場合、非常に大きなメッセージによってリソース問題が生じる可能性があります。この場合は、代替変換チャネルを使用できます。または、送信チャネルに基づいて、通常の変換チャネル内で特別な変換処理を行います。
大きな送信メッセージを専用のチャネルから送信する場合は、alternatechannel を使用できます。これを使用すると、mail.log* ファイルやカウンタ表示を分析したときに、大きな送信メッセージが見つけやすくなります。
さらに、大きなメッセージを専用のチャネルで処理すると、配信統計を慎重に分析する場合に役立ちます。リモート SMTP ホストに送信された大きなメッセージや受取人の多いメッセージは処理に時間がかかるため、標準メッセージとは別の配信統計が作成されるからです。
noexquota および holdexquota キーワードは、Berkeley メールボックスユーザー (UNIX) 宛のメッセージの処理を制御します。ここでいうユーザーとは、ディスク制限容量を超過していて、ネイティブチャネルのユーザー ID に配信されたユーザーを指します。
noexquota は MTA に、制限容量を超過したユーザー宛のメッセージを、差出人に返送するように指示します。holdexquota は MTA に、制限容量超過ユーザー宛のメッセージを保留にするように指示します。これらのメッセージは、配信可能になるまで、またはタイムアウトになってメッセージ返送ジョブによって返送されるまで、MTA キュー内に保持されます。
キーワード: rejectsmtplonglines、wrapsmtplonglines、truncatesmtplonglines
rejectsmtplonglines は、SMTP で許可されている 1000 文字 (CRLF を含む) を超える行を含むメッセージを拒否するオプションを追加します。この領域のほかのオプションは wrapsmtplonglines と truncatesmtplonglines です。wrapsmtplonglines は長すぎる行を折り返し、truncatesmtplonglines は長すぎる行を切り捨てます。デフォルトは truncatesmtplonglines です。これらのキーワードは両方とも、送信に最初に使用されたチャネル (tcp_local など) に適用される必要があります。その後切り替えられるチャネルには影響はありません。
キーワード: parameterlengthlimit および nameparameterlengthlimit
parameterlengthlimit は、general content-type および content-disposition パラメータが切り捨てられる位置を制御します。デフォルト値は 1024 です。nameparameterlengthlimit は、name content-type および filename content-disposition パラメータが切り捨てられる位置を制御します。デフォルト値は 128 です。メッセージ上で MIME 処理が実行されていない場合、もっとも外側のメッセージヘッダーのみが処理されるので注意してください。MIME 処理は、inner キーワードや文字セット変換の使用、そのほかさまざまな方法で有効化できます。
キーワード: recipientlimit および recipientcutoff
recipientlimit は、メッセージが受け付ける受取人の合計アドレス数を指定します。recipientcutoff は、MTA に対して提示された受取人の合計数を指定した値と比較します。値が制限を超えた場合、配信のためのメッセージは受け付けられません。これらのキーワードは両方とも、1 つの整数引数を受け入れます。対応するチャネルキーワードが設定されていない場合、これらのデフォルトは無限大です。
受取人の制限を、差出人または差出人のドメインに設定することもできます。このためには、適切な MTA オプションを使用してユーザー LDAP 属性を指定し、その属性を差出人のユーザーエントリまたはドメインエントリに追加します。適切な MTA オプションには LDAP_RECIPIENTLIMIT、LDAP_RECIPIENTCUTOFF、LDAP_DOMAIN_ATTR_RECIPIENTLIMIT、LDAP_DOMAIN_ATTR_RECIPIENTCUTOFF があります。
プライマリ (もっとも外側の) メッセージヘッダーの最大サイズを制限します。この制限に達すると、プライマリメッセージヘッダーはそのまま切り捨てられます。グローバル MTA オプション HEADER_LIMIT が設定されている場合、このチャネルレベルの制限よりも優先されます。デフォルトでは制限なしです。