diff --git a/template/server/config.json b/template/server/config.json
index 98d844b..befc927 100644
--- a/template/server/config.json
+++ b/template/server/config.json
@@ -3,6 +3,8 @@
   "restApiHost": "localhost",
   "host": "0.0.0.0",
   "port": 8000,
+  "emailFrom": "noreply@mydomain.com",
+  "clientURI": "http://localhost",
   "remoting": {
     "context": false,
     "rest": {
diff --git a/template/server/models/account.js b/template/server/models/account.js
index d95a6ed..4ad7900 100644
--- a/template/server/models/account.js
+++ b/template/server/models/account.js
@@ -1,21 +1,63 @@
-import {host} from '../config.json';
+import {clientURI, emailFrom} from '../config.json';
 
-export default function(Account) {
-  Account.on('resetPasswordRequest', (info) => {
-    const url = `https://${host}/#!/profile`;
-    const html = `Hello! <br /><br />Click <a href="${url}?access_token=${
-      info.accessToken.id}">here</a> to create a new password.` +
-     ' <br /><br /> If you have not requested a password change,' +
-     'please ignore this email. <br /><br />Webmaster';
-    Account.app.models.Email.send({
-      to: info.email,
-      from: '{{name}} <noreply@mydomain.com>',
-      subject: '[{{name}}] Create a new password',
-      html,
-    }, (err) => {
-      if (err) return console.log(err);
-      console.log('> sending password reset email to:', info.email);
-      return null;
+export default function Account(Account) {
+  function resetPassword(options) {
+    console.log(
+      '> received request password reset for email/token: ',
+      options.email,
+      options.accessToken.id
+    );
+    const url = `${clientURI}/profile`;
+    const html = `Olá! <br /><br /><a href="${url}?access_token=${
+      options.accessToken.id}">Clique aqui</a> para criar uma nova senha.` +
+      ' <br /><br /> Caso você não tenha solicitado uma nova senha,' +
+      'por favor, ignore esse e-mail.';
+    const sendEmail = new Promise((resolve, reject) => {
+      Account.app.models.Email.send({
+        to: options.email,
+        from: 'Vivescer <' + emailFrom + '>',
+        subject: '[Vivescer] Alteração de senha',
+        html,
+      }, (err) => {
+        err = new Error('ups');
+        if (err) {
+          console.log('> failed to send reset email to', options.email, err);
+          reject();
+          return;
+        }
+        resolve();
+      });
     });
-  });
+
+    return sendEmail;
+  }
+
+  Account.resetPassword = (options) => {
+    return new Promise((sendSuccess, sendError) => {
+      Account.on('resetPasswordRequest', updatedOptions => {
+        resetPassword(updatedOptions)
+          .then(sendSuccess)
+          .catch(sendError);
+      });
+      Account.base
+        .resetPassword(options)
+        .catch(sendError);
+    });
+  };
+
+  Account.remoteMethod(
+    'resetPassword',
+    {
+      description: 'Reset password for a user with email.',
+      accepts: [
+        {
+          arg: 'options',
+          type: 'object',
+          required: true,
+          http: {source: 'body'},
+        },
+      ],
+      http: {verb: 'post', path: '/reset'},
+    }
+  );
 }