Service - JTUA...の各サービスの導入から運用までをサ ポート。また、同社オリジナルのポータル用 テンプレートなども提供し、導入後のス
EEM SMTP ライブラリのコマンド拡張 -...
Transcript of EEM SMTP ライブラリのコマンド拡張 -...
EEM SMTPライブラリのコマンド拡張
すべてのシンプルメール転送プロトコル(SMTP)ライブラリコマンドは、::cisco::lib名前空間に属します。
このライブラリを使用するには、ユーザは、電子メールテンプレートファイルを用意する必
要があります。テンプレートファイルに Tclグローバル変数を含めると、event managerenvironment Cisco IOSコマンドラインインターフェイス(CLI)コンフィギュレーションコマンドを使用して電子メールサービスと電子メールテキストを設定できるようになります。電
子メールテンプレートファイルでグローバル変数を置き換え、設定された電子メールサーバ
を使用して、設定された Toアドレス、CCアドレス、Fromアドレス、および Subject行プロパティで必要な電子メールコンテキストを送信するには、このライブラリにあるコマンドを使用
します。
電子メールテンプレート
電子メールテンプレートファイルの形式は、次のとおりです。
RFC2554に基づき、SMTP電子メールサーバ名Mailservernameには、username:password@host、username@host、または hostのテンプレート形式のいずれか 1つを使用できます。
(注)
Mailservername:<space><the list of candidate SMTP server addresses>From:<space><the e-mail address of sender>To:<space><the list of e-mail addresses of recipients>Cc:<space><the list of e-mail addresses that the e-mail will be copied to>Sourceaddr:<space><the IP addresses of the recipients>Subject:<subject line><a blank line><body>
テンプレートには、通常、設定のための Tclグローバル変数が含まれていることに注意してください。
(注)
EEM SMTPライブラリのコマンド拡張1
Tclポリシーでは、電子メールテンプレートの「Port」行でポート番号を指定できます。ポートを指定しなかった場合、デフォルトのポート 25が使用されます。
次に、サンプル Eメールテンプレートファイルを挙げます。
Mailservername: $_email_serverFrom: $_email_fromTo: $_email_toCc: $_email_ccSourceaddr: $_email_ipaddrPort: <port number>Subject: From router $routername: Process terminatedprocess name: $process_namesubsystem: $sub_systemexit status: $exit_statusrespawn count: $respawn_count
• smtp_send_email(2ページ)• smtp_subst(3ページ)
smtp_send_email電子メールテンプレートファイルのテキストが、すべてのグローバル変数ですでに置き換え
られている場合、シンプルメール転送プロトコル(SMTP)を使用して電子メールを送信します。電子メールテンプレートによって、候補メールサーバのアドレス、Toアドレス、CCアドレス、Fromアドレス、件名の行、および電子メールの本文が指定されます。
ライブラリが、リストにあるサーバの 1つに接続できるまで、サーバへの接続が、1つ 1つ試行されるよう、候補電子メールサーバのリストを用意できます。
(注)
構文
smtp_send_email text
引数
(必須)すべてのグローバル変数ですでに置き換えられた、Eメールテンプレートファイルのテキスト。
text
結果文字列
なし
_cerrnoを設定
• 1行目の形式が間違っている:Mailservername:サーバ名のリスト。
• 2行目の形式が間違っている:From:送信元アドレス。
EEM SMTPライブラリのコマンド拡張2
EEM SMTPライブラリのコマンド拡張smtp_send_email
• 3行目の形式が間違っている:To:送信先アドレスのリスト。
• 4行目の形式が間違っている:CC:コピー送信先アドレスのリスト。
•メールサーバへの接続エラー:リモートサーバによって $sockが閉じられている($sockはメールサーバに開かれているソケットの名前)。
•メールサーバへの接続エラー:$sock応答コードが service ready greetingではなく $kである($sockはメールサーバに開かれているソケットの名前、$kは $sockの応答コード)。
•メールサーバへの接続エラー:すべてのメールサーバ候補に接続できない。
•メールサーバからの接続解除エラー:リモートサーバによって $sockが閉じられている($sockはメールサーバに開かれているソケットの名前)。
サンプルスクリプト
電子メールテンプレートですべての必要なグローバル変数が定義された後には、次のようにな
ります。
if [catch {smtp_subst [file join $tcl_library email_template_sm]} result] {puts stderr $resultexit 1
}if [catch {smtp_send_email $result} result] {
puts stderr $resultexit 1
}
smtp_subst電子メールテンプレートファイル e-mail_templateの場合、ファイルにある各グローバル変数を、そのユーザ定義値によって置き換えます。置換後に、ファイルのテキストを返します。
構文
smtp_subst e-mail_template
引数
(必須)グローバル変数が、ユーザ定義値によって置き換えられる必要があ
る、電子メールテンプレートファイルの名前。ファイル名の例は
/disk0://example.templateで、スロット 0の ATAフラッシュディスクの上位レベルディレクトリにある example.templateという名前のファイルを表します。
e-mail_template
結果文字列
すべてのグローバル変数で置き換えられた、電子メールテンプレートファイルのテキスト。
EEM SMTPライブラリのコマンド拡張3
EEM SMTPライブラリのコマンド拡張smtp_subst
_cerrnoを設定
•電子メールテンプレートファイルを開けられない。
•電子メールテンプレートファイルを閉じられない。
EEM SMTPライブラリのコマンド拡張4
EEM SMTPライブラリのコマンド拡張smtp_subst