【#技術書典 宣伝】#C90 の落選結果を Slack で受け取ってみた
【#技術書典 宣伝】企画
今週の土曜日(2016/06/25)に, 「技術書典」という いろんな技術にまつわる同人誌の即売会が開かれる.
私が筆頭の O'Creilly も,喜ばしいことに出展できる運びとなった.
これから宣伝も兼ねて,執筆中に得た知識を書いていきたい.
前回:
ことの経緯
飛ばすひとはこちら
C90 の当落結果が間近に控えていた. なんだかんだ言って受かるだろうと高をくくって, 技術書典で頒布する量も多めに発注しておいた.
コミケの当落速報はメールでくる. もちろん受かるとは思うが,落ちた時には凹んで動けないかもしれない.
しかし,サークルの代表としてみんなに当落結果を伝える義務がある. どうにかして,立ち直れなくともみんなが把握できるようにしたい.
幸いにも,サークルメンバは Slack を活用していて, 執筆の相談などもそこで行っている.
そうだ,メールの内容が Slack にくるように設定してしまおう.
メールを Slack に転送する問題点
Slack には,Email インテグレーションもあるし, IFTTT や Zapier などのサービスと連携してもよいはずだ. MailClark というものは返信もできるらしい.
しかし,無償のチームでは 10 インテグレーションまでしか登録できない. わたしのチームは既に限界までインテグレーションが追加されていて, Email は追加できない.
自前で組む他の理由は,いろいろ機能をつけたいからだ. 例えば,メールによって bot のアイコンを変えたいとか. そういうことをするには,やっぱり組んでみるのがよい.
本題|メールを Slack に転送する SMTP2Slack
早速作ったものを載せておく.
幸いにも Slack API Tester は登録されていたので自前で bot を組んでいく. Slack API Tester は,万能なので登録しておくとよい.
作るときには, SRARAD/slack-email を参考に作った. Node.js のライブラリである Mailin は, メールをトリガとした bot を作るには手軽かつ便利だ.
使いかた
- サーバを用意する
- MX レコードを設定する
- サーバに Docker と Docker Compose を入れる
- Token を手に入れる
git clone https://github.com/3846masa/smtp2slack.git
- docker-compose.yml の
SLACK_TOKEN
を埋める - (任意)
PREFIX_REGEXP
を埋める docker-compose up -d
prefix-random@yourdomain.example.com
にメールを送ってみる
結果
とても良い具合に結果が隠れている. なかなか乙なやつだな.
(´・ω・`)
余談
prefix-random+slack@yourdomain.example.com
のように,
Emoji の名前を +
以降に入れてあげるとアイコンが変えられる.
メールの転送設定の話
わたしが捨てメアドで愛用している Yahoo! Japan メールは, フィルターによるメール転送ができない.
O'Creilly が使っている Yandex mail では, 転送設定がうまく動くことはすごく稀である.
そういうメールサーバでも,同様のことをするために,
3846masa/imap2slack も作った.
docker-compose.yml に IMAP 設定を書き込んで,
docker-compose up -d
すれば動く.
すべてのメールを転送するようになっているので, 各自でスクリプトをいじるか, 汎用的にしたコードを作って Pull Request とかくれたら嬉しい.
ちなみに,Outlook はメールの転送設定が楽でよい.
まとめ
- メールを Slack に転送できる便利 bot を作った
- 落選を落ち込んでいても,情報伝達が行われて便利
- C90 落選したので委託参加を目論んでいるが,人脈がない
- メールの転送設定は Outlook が楽でよい
明日も執筆時のノウハウを書いていきますよ!
オクライリーのお蔵入り本もよろしくお願いします. ぼくは Docker Compose のお話を書いています.