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