雑記帳

整理しない情報集

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: メールアドレス

あとがき

なんとなく何も考えないで作りましたが、メールアドレスは自分でサーバを立てれば無制限に作れますし、ワンタイムメールアドレスなるサービスも存在するため、おそらく使う機会は無さそうな気がします…。なんで作ったんだろう。そして、なんで公開しようと思い立ったのだろう…(汗)