1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

無効なメールアドレスの作り方

Posted at

※ 私が株式会社愛宕 Advent Calendar用に書く記事は主に社内向けに共有しておきたいけど勉強会をするまでもないちょっとしたTipsにしたいと思います。

今日の話題は、メールアドレスの無効化についてです。

なぜ無効なメールアドレスが必要なのか

何らかのシステムでメールアドレスを登録しているものとします。
メールアドレスにはユニーク制約がついていて同じメールアドレスは登録できないのが一般的です。

このようなシステムで、一度あるメールアドレス(hoge@example.com)を登録したユーザーがアカウントを削除したとします。
この時データベースから完全に削除できるなら問題ないですが、要件によってはフラグを立てたり、削除年月日を更新するだけで実際の削除は後回しにする場合もよくあります。
このような場合、以前のユーザーがもう一度アカウント登録して同じメールアドレス(hoge@example.com)を登録しようとするとユニーク制約エラーになって登録できません。

解決

この問題を解決するのに簡単な方法はメールアドレスの末尾に.invalidを付ける方法です。
.invalidRFC2606で予約されており、一目で無効であることが判別できて絶対に繋がらないことになっているドメインです。
これをメールアドレスに付けると、先ほどの例に従うとhoge@example.com.invalidとなってメールアドレスの形式を守りながら、実際には送信できないメールアドレスとなり、さらに元のメールアドレスとは違う値なのでユニーク制約の問題も回避できます。

ちなみに、今回例示として使ったexample.comもRFC2606で予約されているものです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?