Open3
[Elixir] メール送信
Elixirを使ったプロジェクトでメール送信する機能を実装することになった。SaaSはSendGrid。
ライブラリ選定
候補としてこの2つ。
DL数的にはほぼ同列。ただ、bambooのほうが優位な感じ
- Adapterなので、他のメーラーへ差し替え可能だしその数も多い。
- 2022/2時点でcommitがある
- star数的にも大差(1.8k vs 79)
bambooを使うことに決める
他にもっと有力な選択肢を見落としていた。
GitHub - swoosh/swoosh: Compose, deliver and test your emails easily in Elixir
- Phoenix のv1.6.0から正式にmailer で採用されてるpackage: https://hexdocs.pm/phoenix/Phoenix.html#module-general
- sync にmail処理を実行して、asyncについての機能はpackageからは提供されてないみたい。その思想としては、ElixirではAsyncはfirst-classだからで利用者側が様々な選択肢としてElixirのbuilt-inのTaskを使ったり3rd party のqueueを使うべきで、このpackageでasyncの機能については提供されてない。https://github.com/swoosh/swoosh/commit/0224a1b58d1ea7cb339e762e39bdae9f77352275
- 2022-05時点でstar 1.2k、かつメンテナンスがされてるようにも見える。ただcommitを見る限りだとメンテナーがほぼ一人。
- REF: Phoenix.Swoosh approaching 1.0 - #21 by Kurisu - Chat / Discussions - Elixir Programming Language Forum