Gmailの疑似エイリアスを判定するスニペット
Gmailは+(プラス)記号や.(ピリオド)記号を用いること(疑似エイリアスと呼ばれます)で、無制限にメールアドレスを作成できます。そこで、Gmailのアドレスで疑似エイリアスを判定したり、エイリアスを削除して本来のメールアドレスを取り出すスクリプトを作ってみました。
注意点
- あくまでも疑似エイリアスの判定をするために作成したので、それ以外の用途への使用はご遠慮ください
gmail.com
のドメインで判定を行っているため、G Suite(旧Google Apps)で独自ドメインで運用しているものには対応していません- @(アットマーク)が2つ以上ある場合、2つ目以降の@は無視されます
仕様
- ドメインが
gmail.com
の場合のみ処理を実行します - @(アットマーク)より前にある+(プラス)記号の有無を判定します
- @(アットマーク)より前の.(ピリオド)記号の有無を判定します
サンプル
コード
const gmailAlias = {
check(addr) {
let at = addr.split("@");
if (at.length < 2 || at[1].toLowerCase() !== "gmail.com") return false;
let plus = at[0].split("+");
if (plus.length > 1) return true;
if (plus[0].includes(".")) return true;
return false;
},
convert(addr) {
let at = addr.split("@");
if (at.length < 2 || at[1].toLowerCase() !== "gmail.com") return addr;
return at[0].split("+")[0].replace(/\./g, "") + "@gmail.com";
}
};
(2024/07/01 微修正)
使用方法
gmailAlias.check(address); //判定
gmailAlias.convert(address); //変換
- address: メールアドレス
あとがき
なんとなく何も考えないで作りましたが、メールアドレスは自分でサーバを立てれば無制限に作れますし、ワンタイムメールアドレスなるサービスも存在するため、おそらく使う機会は無さそうな気がします…。なんで作ったんだろう。そして、なんで公開しようと思い立ったのだろう…(汗)
( 更新)
カテゴリ: Javascript