# 設定 Email 告警

本頁說明如何在 TUI 內以 `smtp` 指令完成 SMTP 設定、管理收件者並寄出測試信。

## 設定步驟（Gmail，587 STARTTLS）

```bash
smtp host smtp.gmail.com
smtp port 587
smtp username your@gmail.com
smtp password abcdefghijklmnop
smtp from your@gmail.com
smtp add ops@example.com
smtp add oncall@example.com
smtp enabled true
test
```

每個指令執行後立即寫回 `.webMonitor.json`，不需要重新啟動。

## 輸入規則

| 規則 | 說明 |
|------|------|
| 以空白分隔 | 指令以 `strings.Fields` 切割，每個設定值只取第一段 |
| 值不能含空白 | Gmail 應用程式密碼顯示為四組四字元，輸入時須去除空白 |
| `port` 必須是整數 | 非整數時拒絕更新 |
| `enabled` | `true` 或 `1` 為啟用，其他任何值都視為停用 |
| 收件者去重 | `smtp add` 遇到已存在的地址會忽略 |

## 檢視設定

輸入 `smtp`（或 `smtp show`）切換到 SMTP 設定畫面，System 面板改為顯示目前設定：

| 欄位 | 顯示方式 |
|------|---------|
| Host／Username／From | 未設定時顯示 `unset` |
| Password | 以等長的 `*` 遮蔽 |
| To | 以逗號串接所有收件者 |
| CC | 未設定時顯示 `unset` |
| Enabled | 綠色 `Enable`／紅色 `Disable` |

輸入 `back` 或按 <kbd>Esc</kbd> 回到主畫面。

## 測試信

`test` 在背景寄出主旨為 `Website Monitoring System - Test` 的 HTML 信件。寄送失敗的錯誤只寫到 stderr，不會顯示在 System 面板；確認是否成功請檢查收件匣。

## 副本（CC）

TUI 沒有設定 CC 的指令。需要時在程式**結束後**手動編輯 `.webMonitor.json` 的 `config.cc`（單一字串）。未設定時信件標頭的 Cc 會填入寄件者地址。

## 停用告警

```bash
smtp enabled false
```

停用後告警與 `test` 都不會寄出，其餘設定保留。

各 port 的連線方式見 [SMTP 連線](/zh/smtp-connection)。
