[index] SwitchBlade x908 GEN2 コマンドリファレンス 5.5.5

# 運用・管理 / メール送信

本製品は簡易的な電子メール送信機能（メールクライアント）を備えています。
この機能は、トリガーを使ってイベントの発生を管理者に通知したり、ログをメールで送信したりするときに便利です。

## 基本設定

メール送信機能を使用するには、あらかじめ次の2項目を設定しておく必要があります。両方を設定しないとメールの送信（mailコマンドの実行）はできません。

- 本製品が使う送信元メールアドレス
- 送信用メールサーバー（SMTPサーバー）のIPアドレス（IPv4/IPv6）またはホスト名

送信元メールアドレスはグローバルコンフィグモードのmail fromコマンド、送信用メールサーバーは同じくグローバルコンフィグモードのmail smtpserverコマンドで設定します。
なお、実際にメールが配送されるためには、本製品と送信用メールサーバー、送信用メールサーバーと宛先メールアドレスのメールボックスが存在するメールサーバーとが互いに通信できるようになっている必要があります。以下の説明では、IP関連の設定（アドレス設定や経路設定）は完了しているものとします。

1. メール送信時に本製品が使用する送信元メールアドレスを設定します。このアドレスは送信メールのFromアドレスとして使われます。また、SMTPセッションの開始時には、このメールアドレスのドメイン部分がHELOコマンドでメールサーバーに送信されます。
   ここでは、送信元メールアドレスとして「manager@bulbul.example.com」を使用するものとします。

       awplus(config)# mail from manager@bulbul.example.com ↓

2. 送信用メールサーバー（SMTPサーバー）のIPアドレス（IPv4/IPv6）かホスト名を設定します。
   本製品は、送信するすべてのメールをこのSMTPサーバーに転送して以後の配送を依頼します。

       awplus(config)# mail smtpserver 172.17.28.1 ↓
       または
       awplus(config)# mail smtpserver smtp.example.com ↓

3. 設定を確認します。State欄がAliveになっていればメール送信機能の基本設定は完了しています（IPなど下位層の設定は確認できません）。

       awplus(config)# end ↓
       awplus# show mail ↓
       Mail Settings
       ------------------------------------------------------------
       State                              : Alive
       SMTP Server                        : 172.17.28.1
       Host Name                          : manager@bulbul.example.com
       Port                               : 25
       Debug                              : Disabled

       Messages
       ------------------------------------------------------------
       There is no mail in the queue.

> Note

> > 必須ではありませんが、システム時刻とタイムゾーンも正しく設定しておくことをおすすめします。詳細は「運用・管理」の「システム」をご覧ください（「システム時刻の設定」）。

## メール機能の使用例

これでメールを送るための設定は完了です。以下、メール機能の実際の使用例を示します。メールの送信は特権EXECモードのmailコマンドで行います。
■ コマンドラインから短いメールメッセージを送るには次のようにします。管理者のアドレスにテストメールを送ってみましょう。メールの件名（タイトル）は「test1」とします。

    awplus# mail to admin@example.com subject test1 ↓

    Type the message below and finish with a CTRL-d
    This is a test. ↓
    <Ctrl/D>
    Sending /var/spool/mqueue/20120814091804.8319... ok.

> Note

> > メール本文を対話的に入力する場合は、本文中で疑問符（?）を使用しないでください。本文に疑問符を使いたいときは、メール本文を別途テキストファイルとして用意しfileパラメーターで該当テキストファイルを指定してください（次項を参照）。

この例では、コマンドラインから宛先メールアドレスとメールの件名（タイトル）を指定しています。すると、「Type the message below and finish with a CTRL-d」というメッセージが表示され、カーソルが次の行に移動するので、メール本文を入力し、入力が終わったら「Ctrl/D」キーを押してください。これでメールが送信されます。
次に送信されたメールの例を示します。

    Return-Path: <manager@bulbul.example.com>
    Received: from bulbul.example.com ([172.17.28.187])
            by thrush.example.com (8.11.6/8.11.6) with SMTP id l7E0IwE15347
            for <admin@example.com>; Tue, 17 Jan 2012 09:18:58 +0900 (JST)
            (envelope-from manager@bulbul.example.com)
    Message-Id: <201201170018.l7E0IwE15347@thrush.example.com>
    Received: by bulbul.example.com (nbSMTP-1.00) for uid 0
            manager@bulbul.example.com; Tue, 17 Jan 2012 09:18:04 +0900 (JST)
    Subject: test1
    From: <manager@bulbul.example.com>
    To: <admin@example.com>
    Date: Tue, 17 Jan 2012 09:18:58 +0900 (JST)

    This is a test.

■ fileパラメーターを使用すれば、テキスト形式のファイルをメール本文として送ることができます。次の例では、カレントディレクトリーにあるテキストファイル「mailbody.txt」をメール本文として管理者に送信します。

    awplus# mail to admin@example.com subject test2 file mailbody.txt ↓
    Sending /var/spool/mqueue/20120202043556.13821... ok.

> Note

> > リダイレクションを使用し、任意のコマンド出力をファイルに書き出すことで、該当ファイルをメール本文として送ることもできます。

■ メール機能の設定やメール送信キューの状態を表示するには特権EXECモードのshow mailコマンドを使います。

    awplus# show mail ↓
    Mail Settings
    ------------------------------------------------------------
    State                              : Alive
    SMTP Server                        : 172.17.28.1
    Host Name                          : manager@bulbul.example.com
    Port                               : 25
    Debug                              : Disabled

    Messages
    ------------------------------------------------------------
    To                                 : admin@example.com
    Subject                            : test3
    Message-ID                         : 20120202043645.30177

■ メール送信キュー内のメールを削除するには特権EXECモードのdelete mailコマンドを使います。上記show mailコマンドの出力例で表示されているメッセージID「20120202043645.30177」のメールを削除するには、次のようにします。

    awplus# delete mail mail-id 20120202043645.30177 ↓
    awplus# show mail ↓
    Mail Settings
    ------------------------------------------------------------
    State                              : Alive
    SMTP Server                        : 172.17.28.1
    Host Name                          : manager@bulbul.example.com
    Port                               : 25
    Debug                              : Disabled

    Messages
    ------------------------------------------------------------
    There is no mail in the queue.

## 高度な機能

### 暗号化通信（TLS）

SMTPではメールサーバーとのやりとりを暗号化なしの通信（平文）で行いますが、本製品では設定により暗号化通信（TLS）を利用することもできます。
メール送信時の暗号化通信にはTLSの開始タイミングによって次の2つの方式があります。
本製品ではどちらの方式も利用可能です。

- STARTTLS - いったん平文で接続した後、SMTPのSTARTTLSコマンドを発行してTLS通信に移行し、その上でSMTPのやりとりを行う
- SMTPS - 最初からTLSで接続し、その上でSMTPのやりとりを行う

暗号化通信の設定は、基本設定が終わった後にmail smtpserver tlsコマンドで行います。
■ STARTTLSを使うにはmail smtpserver tlsコマンドでstarttlsを指定します。
STARTTLSを有効にした場合、デフォルトではメールサーバーのTCPポート587に接続します。他のポートに接続したいときはmail smtpserver portコマンドで接続先ポートを明示的に設定してください。

    awplus(config)# mail smtpserver tls starttls ↓

■ SMTPSを使うにはmail smtpserver tlsコマンドでsmtpsを指定します。
SMTPSを有効にした場合、デフォルトではメールサーバーのTCPポート465に接続します。他のポートに接続したいときはmail smtpserver portコマンドで接続先ポートを明示的に設定してください。

    awplus(config)# mail smtpserver tls smtps ↓

■ 暗号化通信を無効にするにはmail smtpserver tlsコマンドをno形式で実行します。
暗号化通信の無効時は、デフォルトでメールサーバーのTCPポート25に接続します。他のポートに接続したいときはmail smtpserver portコマンドで接続先ポートを明示的に設定してください。

    awplus(config)# no mail smtpserver tls ↓

### メール送信時認証（SMTP認証）

本製品のメール送信機能はSMTP認証に対応しているため、送信時に認証を要求するメールサーバーも利用可能です。
SMTP認証の設定は、基本設定が終わった後にmail smtpserver authenticationコマンドで行います。
同コマンドの実行に必要な情報は、使用する認証方式（CRAM-MD5、LOGIN、PLAINのいずれか）とユーザー名、パスワードです。

> Note

> > SMTP認証は暗号化通信（TLS）の有効・無効に関係なく利用可能です。

■ たとえば、認証方式CRAM-MD5、ユーザー名manager、パスワードterCe2u2T1m!hでSMTP認証を行うよう設定するには、次のようにします。

    awplus(config)# mail smtpserver authentication crammd5 username manager password terCe2u2T1m!h ↓

■ SMTP認証の設定を削除し、メール送信時の認証を行わない設定に戻すには、mail smtpserver authenticationコマンドをno形式で実行します。

    awplus(config)# no mail smtpserver authentication ↓

### 送信先TCPポートの変更

近年、迷惑メール対策として、前述のメール送信時認証（SMTP認証）に加え、SMTP標準ポートであるTCP 25番ポート宛て通信の遮断が広く行われています（Outbound Port 25 Blocking）。
そうした環境ではメール送信用サーバーが587番（submission）などの代替ポートで待ち受けているケースがよく見られますが、本製品のメール送信機能ではmail smtpserver portコマンドでメール送信時の接続先ポート番号を変更することができます。
■ たとえば、送信先TCPポートを587番に変更するには、次のようにします。

    awplus(config)# mail smtpserver port 587 ↓

■ 送信先TCPポートを標準の25番に戻すには、mail smtpserver portコマンドをno形式で実行します。

    awplus(config)# no mail smtpserver port ↓

> Note

> > 上記コマンド例の説明（「標準の25番に戻す」）は暗号化通信（TLS）が無効な場合を想定しています。
> > TLS使用時は送信先TCPポートの初期値が下記のように変動します。

> > TLS通信 | TCPポート初期値
> > 無効 | 25 (smtp)
> > 有効（STARTTLS） | 587 (submission)
> > 有効（SMTPS） | 465 (smtps)

### メール件名へのシステム情報埋め込み

mailコマンドのsubjectパラメーターで指定するメール件名（タイトル）内では、下記の変数を用いることでシステムに関する情報を埋め込むことができます。

変数名 | 内容
%N | ホスト名。hostnameコマンドで設定したもの
%S | シリアル番号。show system serialnumberコマンドで表示されるものと同じ
%T | システム日時（ローカル時刻）
%D | システム日時（ローカル時刻）
%L | システム日時（ローカル時刻）
%U | システム日時（UTC）

> Note

> > %T、%D、%L は同じ内容です。また、タイムゾーン（clock timezoneコマンド）がUTCの場合は %U も同じ内容になります。

■ たとえば、次のようにしてメールを送信した場合、

    box301# mail to manager@example.com subject "%N (%S) %T" ↓

件名として指定した文字列中の変数 %N、%S、%T は前記のシステム情報に展開されるため、実際に送信されるメールの件名は次のようになります。

    box301 (X000000000000000) 2018-06-28T10:04:32+0900

(C) 2017 - 2025 アライドテレシスホールディングス株式会社

PN: 613-002489 Rev.AP