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

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

## 基本設定

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

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

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

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

       AT-AMF-app(config)# mail from manager@bulbul.example.com

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

       AT-AMF-app(config)# mail smtpserver 172.17.28.1
       または
       AT-AMF-app(config)# mail smtpserver smtp.example.com

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

       AT-AMF-app(config)# end
       AT-AMF-app# 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」とします。

    AT-AMF-app# 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」をメール本文として管理者に送信します。

    AT-AMF-app# mail to admin@example.com subject test2 file mailbody.txt
    Sending /var/spool/mqueue/20120202043556.13821... ok.

Note

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

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

    AT-AMF-app# 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」のメールを削除するには、次のようにします。

    AT-AMF-app# delete mail mail-id 20120202043645.30177
    AT-AMF-app# 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.