SendGridのSMTPでBlueskyのPDSをセットアップしてみる

基本の流れはここを参考にする。

SendGridは法人でないと申し込めないので注意。
申し込み後、2営業日目安で返事がくる。
申し込み時の質問回答によってはメールで追加質問に対応する必要あり。
今回はPDS鯖を建ててみたけどWebサーバーとしては機能させていなかったため、ドメインを所持していることを証明するために、レジストラのドメイン登録画面のスクショを送る必要があった。

SendGridの設定→Sender Authentication
→Domain Authentication
へ。
DNSにCloudflareを使っているよーという選択肢を選ぶと、DNSにこういうふうに設定してねというのが出てくるのでその通りに設定する。
Cloudflare内で設定するときは "DNS only" にすること。

同様に設定→Sender Authentication
→Single Sender Verification
へ。
送信元のメールアドレスを1つだけ設定する。
送信者名、送信元と返信先アドレス、法人住所などを入力の必要あり。
ここでは hello@example.com を作成したと仮定する。
ドメイン認証が終わっていればそのまま「送信元として利用可」のマークがつく。(未検証だがドメイン認証が終わってなければそのアドレスで確認メールを受け取る必要がありそう)

同様に設定→API Keys
へ。
右上のCreate API KeyボタンをクリックしてAPIキーを作成し、コピーして控えておく。

PDSサーバーへ移動しSSHなどで操作する。
/pds/pds.env
に以下を追加する。
PDS_EMAIL_FROM_ADDRESS=hello@example.com
PDS_EMAIL_SMTP_URL="smtps://apikey:<さっき控えたAPIキー>@smtp.sendgrid.net:465"
<さっき控えたAPIキー>
は文字通り、先ほど取得したAPIキーと置き換えておく。
参考としてこちらにtelnetを使ってSMTP送信する方法が載っているが、ユーザ名とパスワードはBase64エンコードする必要はなく、ポートも587ではなく465を使用する必要があるので注意。

この状態でPDSを再起動し、このPDS上に新しくユーザを作成すればきちんとメールが届く。
おつかれさまでした。

スクラップ作った翌日の2024/2/28にSendGrid、もとい代理店の構造計画研究所でプラン改悪の発表があり、4月からフリープランで送信可能なメールの数が月間12000通→1日100通(月間3000通)になるとのこと。
小規模PDSで利用する上では特に問題は無さそうなので、法人があるならまだ選択肢にはなり得るかと。