メールのやり取りをSlack上で確認することができ、Slackからメールの返信も送れます。
指定のチャンネルに転送する機能があり、アラートメールなどのメールを手軽に誰でも指定のチャンネルに転送できます。
複数メールアカウントを使用するためIMAP IDLE
はリソースがかかるのと、リアルタイム性もそこまで求められていないため、
定期的にIMAPに接続する方式で、新着メールをSlackに転送してます。
複数のメールサーバを設定でき、後から編集できます。
デフォルトでDMにメールが届きます。
指定のチャンネルへ転送したりブロックができます。
- Docker Desktop
- Node.js v18.0
- TypeScript
- @slack/bolt
- sqlite3
注意:Slackのメール機能を使用するため、SlackがProプラン
以上の必要あり
- docker desktopをインストール
- ソースコードダウンロード
- 以下のコマンドを実行
cd SlackMailSync cp .env.example .env make init
- SlackとSMTPの設定が完了し
.env
ファイル編集後、以下のコマンドで起動make up
- Slack Bot作成
./AppManifest.yml
を参考にアプリを作成し、Slackのワークスペースにアプリをインストール
インストール後に生成されるBot User OAuth Token
を.env
ファイルのSLACK_BOT_TOKEN
に設定 - App-Level Tokensを設定
connections:write
のApp-Level Tokensを生成して、.env
ファイルのSLACK_APP_TOKEN
に設定 - メール受信用のチャンネルを作成
- 受信用のチャンネルに届くメールアドレスを作成
- チャンネルIDとそのチャンネルのメールアドレスを
.env
のSLACK_MAIL_BOX_CHANNEL_ID
とSLACK_MAIL_BOX_CHANNEL_EMAIL
に設定
取得したユーザーのメールを、Slackに転送するために使用するSMTPサーバ
.envファイルの以下のパラメータにそれぞれ設定
SYSTEM_SMTP_HOST=
SYSTEM_SMTP_PORT=
SYSTEM_SMTP_SECURE=false
SYSTEM_SMTP_USER=
SYSTEM_SMTP_PASS=
以上