メールアドレスを入力してもらってそこに特定の文字列を送るというCGIを作成してます。
メールアドレスをそのまま入力してもらうと正規表現がたいへんなので、
@はこちらで用意して左辺と右辺を別々に書いてもらうことにしました。

入力スペース @ 入力スペース

こんな感じです。そして不正なアドレスだと感知したらメールを送るのをやめます。
右辺は英数字とピリオド以外が混入していたら中止。
左辺は何が混入していたら中止にすればいいのでしょうか?

確かメールアドレスに含んでよい記号ってかなりありますよね;
@を除いてそれら以外が混入してれば中止とすれば安全なのでしょうか?