2015-12-31 2 views
0

я работаю в своей собственной системе учетных записей пользователей, и подмигнул почти закончено ... но моя проблема сейчас является восстановить/забыли модуль ....Восстановить пароль с Метеор и Mailgun

У меня есть после этого учебника reset password with Meteor, но почта не отправляется, когда я отправляю свою почту в форме «Забытый пароль».

Я использую Mailgun как почтовый сервер. Я не получаю никаких ошибок с помощью консоли (я получаю свое сообщение, «Отправлено по электронной почте. Проверьте свой почтовый ящик»).

Я считаю, что метод Accounts.forgotPassword и функция ошибки работают нормально, потому что если я попытаюсь ввести неправильную почту или измените переменную process.env.MAIL_URL для аутентификации, Accounts.forgotPassword правильно возьмет ошибку ... но мой проблема в том, что Забытая почта не отправляется, даже функция говорит мне, что почта отправлена ​​правильно.

Почтовый сервер работает нормально, потому что, когда я проверяю отправку почты на сервер Mailgun Server с помощью консоли, почта отправляется правильно.

Я проверил мой Mailgun Dashboard, и я не вижу, ни почта, отправленная ...

Любое предложение? Спасибо заранее и с новым годом! Это мой код

КЛИЕНТ JS

SERVER

расслоение плотной
process.env.MAIL_URL = '[email protected]:[email protected]:587'; 

HTML

<template name="ForgotPassword"> 
    <div class="modal fade" id="ForgotPassword" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
      <div class="modal-dialog" role="document"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
       <h4 class="modal-title" id="myModalLabel">Recover password</h4> 
       </div> 
       <div class="modal-body"> 
       <form class="ForgotPasswordForm" method="post"> 
        <p>email: <input id="forgotPasswordEmail" type="text" name="email" placeholder="email"></p> 
        <button type="submit" class="btn btn-primary" value="Send">Submit</button> 
        <p>Not a member yet?<a href="#" class="js-register">Join us!</a></p> 
       </form> 
       </div> 
       <div class="modal-footer"> 
       <!--<p><a href="#" class="btn btn-primary">Login with Facebook</a></p>--> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
       <!--<button type="submit" value="Register" class="btn btn-primary js-confirm-register">Save changes</button>--> 
       </div> 
      </div> 
      </div> 
    </div> 
</template> 

<!-- template reset password --> 

<template name="ResetPassword"> 
    {{#if resetPassword}} 
    <form class="resetPasswordForm" method="post"> 
     <input id="resetPasswordPassword" name="password" placeholder="New Password" type="password" > 
     <input id="resetPasswordPasswordConfirm" name="password-confirm" placeholder="Confirm" type="password" > 
     <input class="btn-submit" type="submit" value="Reset"> 
    </form> 
    <!-- end #reset-password-form --> 
    {{/if}} 
</template> 

ответ

2

По крайней мере одна проблема заключается в том, что код process.env.MAIL_URL должен быть закодирован в uri и должен начинаться с smtp://. Кроме того, у меня было это с портом, установленным на 465 не 587, но я сделал это некоторое время назад, поэтому, возможно, попробуйте оба.

Попробуйте это:

smtp = { 
    username: '[email protected]', 
    password: 'MyPassword', 
    server: 'smtp.mailgun.org', 
    port: 587 
} 

process.env.MAIL_URL = 'smtp://' + encodeURIComponent(smtp.username) + ':' + encodeURIComponent(smtp.password) + '@' + encodeURIComponent(smtp.server) + ':' + smtp.port; 

Надеется, что это помогает.

+0

Ouup !! Я немой!;) Ты спасаешь моего мужчину !;) Большое спасибо. он отлично работает! правой MAIL_URL, наконец, является MAIL_URL = 'smtp: //[email protected]: [email protected]: 587'; – urco

Смежные вопросы