tessera

メール

任意。有効にすると登録とパスワード再設定の流れが変わる

必須ではありません。ひとりで使う自宅のインスタンスなら、たいてい設定しません。パスワードを忘れてもコマンドラインで直せるからです。

設定する

管理画面か、環境変数で設定します。

設定
mail.host中継サーバー
mail.portデフォルトは 587
mail.tls接続の暗号化方法。下を参照
mail.username、mail.password保存すると封印され、管理画面にも二度と表示されない
mail.from送信元アドレス。中継サーバーがあなたからの送信を受け付けるドメインにする
mail.public_urlメール内のリンクの先頭部分。受け取った人のブラウザが開けるアドレスにする

メールを設定済みとみなすには、host、from、public_url の三つすべてに値が必要です。半分だけ埋めた設定は、動かさずに断ります。動かすと、誰かがすでに締め出されているときに限って失敗する「パスワードを忘れた」リンクを出してしまうからです。

接続の暗号化

mail.tls は次のどれかです。

  • auto(デフォルト): ポート 465 は最初のバイトから TLS、それ以外のポートは STARTTLS を使います。
  • starttls か implicit: どちらかに固定します。
  • none: 同じマシンやネットワーク上の中継サーバー向けです。ローカルの postfix、中継用のコンテナ、Mailpit などです。中継サーバーのアドレスがプライベート、ループバック、リンクローカルのどれかでなければ送信を断ります。

auto の動きが変わった

以前のバージョンは、587 でだけ STARTTLS を使い、それ以外はすべて最初のバイトから TLS でした。465 以外のポートで最初から TLS を求める中継サーバーには、implicit を明示する必要があります。間違えると、証明書の問題のように見えるハンドシェイクエラーになります。

設定デフォルト上限
reset_ttl_minutes3024 時間
registration_ttl_hours247 日

登録が二段階になる

設定していなければ、登録するとすぐにアカウントができ、サインインした状態になります。

いいえ はい 誰かが登録する メールを設定済み? すぐにアカウント作成サインイン済み まだ何も作らないリンク待ち

設定していると、まだ何も作りません。入力内容を保持し、メールのリンクを開いたときに初めてアカウントができます。

登録する メールを確認してください 確認リンク リンクを開く アカウント作成、サインイン済み 訪問者 tessera 受信トレイ

誰でも他人のアドレスを入力できるからです。すぐにアカウントを作ると、見知らぬ人がそのアドレスとユーザー名を押さえ、自分では読めない受信トレイの陰でインスタンスのストレージを使えてしまいます。

フロントエンドは /capabilities を読む

「メールを確認してください」と「ようこそ」のどちらを出すかは、ステータスコードから推測せず、 registration_requires_confirmation で決めてください。推測を間違えると、まだ受信トレイを 開く必要がある人に「ようこそ」と言ってしまいます。

返ってくる応答は次のとおりです。

  • ユーザー名が使われている。 ユーザー名は本人が選んだ呼び名なので、そのまま伝えます。
  • アドレスにすでにアカウントがある。 成功したときとまったく同じく「メールを確認してください」と伝え、そのアドレスには誰かが試みたというメールを送ります。「そのアドレスは使われています」と言うと、登録フォームが「この人はこのインスタンスにいるか」を問い合わせる場所になってしまいます。
  • 同じアドレスへのメールが多すぎる。 1 時間に 3 通までで、登録と再設定は別々に数えます。

パスワードの再設定

再設定を求めると、アドレスにアカウントがあってもなくても同じ答えを返します。理由は上と同じです。メールを設定していなければ再設定リンクそのものがなく、インスタンスはそう伝えます。フロントエンドは、動かない選択肢を出す代わりに、その項目を外せます。

このページの内容