using more standard implementation, also double-validating email (lower and mixed case) in form