     JUser = require './user'
     token = createId()
 
-    { email, verb, expiryPeriod } = options
-
-    email = emailsanitize email
+    { email, sanitizedEmail } = options
+    { verb, expiryPeriod } = options
+
+    email = email.trim()
+    sanitizedEmail or= emailsanitize email, { excludeDots: yes, excludePlus: yes }
 
     options.resetPassword ?= no
 

    JUser = require './user'
    { email } = options

    email = emailsanitize email

    JUser.count { email }, (err, num) =>
      unless num
        return callback null # pretend like everything went fine.

      options.email = email
      options.resetPassword = yes
      @create options, callback


    schema        :
      email       :
        type      : String
        set       : (email) -> email.trim()
      username    : String
      token       : String
      redeemedAt  : Date
