概要
dockerにあるWekanからメールとwebhookを送れるようにします。
メール
メールを使いたいときはコンテナ作る時にMAIL_URLとか設定してねとあるがうまくいかなかった。
しかしふと設定画面が普通にあることに気付いた。
ここから↓
今回はsmtpはdockerのホストです。ローカルでやるので認証もなにもなしなパターン。SMTPサーバーのアドレスにIPアドレスを書くと怒られるっぽいです。
一通り書いて"Send a test email to yourself"をポチればテストできます。送信先はいまログインしているアカウントのアドレスということに注意。
[claret@kadath curl]$ mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/claret": 1 message 1 new
>N 1 Wekan Mon Sep 24 14:45 18/630 "SMTP Test Email From Wekan"
というふうに届きました。
unable to verify the first certificate とか言われる時
SMTPサーバーのアドレスに?ignoreTLS=true
を付けてみてください。私はそれで解決しました。
(公式のドキュメントには環境変数でなんとかと書いてあるが……)
webhook = Mattermost連携
別々のコンテナであるWekanからMattermostにwebhookを送ります。
WebhookでMattermostに繋げる基本的な方法は省きます。GitLabとかと同じです。WekanとMattermostを連携したいと思う人はマニアックでその程度は知っていると思うので……GitLabとMattermostの連携は下記がわかりやすかったです。
しかし私にはよくわからないですが、GitLabもそうでしたが、ホストのインターフェースを使ったローカルIPアドレスでの指定では相手のポートとうまく通信できないみたいな雰囲気なので、docker network connectでmattermostがいるdocker networkにWekanをつなげておいてください。
そして設定したいボードを開いた状態で右上の三本線ボタンを押します。発信Webフックを押します。
ここでURLにwebhookのURLを入力します。上記のようにdocker networkで接続する場合はURLを調整してください。
うまくいけば登録後にタスクを足すことで、webhookを作成したChannelに通知が飛びます。
claret BOT
2:46 PM claret added "ぴよぴよ" to "ほげ"
http://192.168.10.105:58082/b/ZwQiLhbdfMxP6hn4F/board/PgQN3AzeFkJ6sA53W
ChromeだとURLをぽちっても灰色の画面にしかならないのは、ご愛敬というべきか……。
補記
postfixは必要か?
不要っぽいです。
止めてたり削除してみたりしましたがメールは送れました。
ところでメールの送信テストでEHOSTなんとかってエラーが出ることがあります。(もう一度見ようと思ったら出なかった……)。
このときはSMTPサーバーのアドレスの後ろに":25"とかポート番号を書いてみると良いかもしれません。