You were almost there, don't need to use singles and weird case matching. Just do this:
def findByEmail(email: String): Option[User] = {
DB.withConnection { implicit connection=>
SQL("SELECT * FROM users WHERE email = {email}").on(
'email -> email
).as(User.simple.singleOpt)
}
}