How come my Meteor app with accounts package is not sending a verification email?

懵懂的女人 提交于 2019-11-29 17:46:53

问题


I am making a meteor app and I have the mrt accounts-password package added as well as mrt accounts-ui-bootstrap-dropdown.

I have added the loginbuttons so users can create an account and that works just fine. I am using all defaults.

On the server I have the code:

Accounts.config({
  sendVerificationEmail: true,
  forbidClientAccountCreation: false
});

And when I create a new account, the server console prints:

I20130821-18:31:42.105(-4)? ====== BEGIN MAIL #0 ======
I20130821-18:31:42.106(-4)? MIME-Version: 1.0
I20130821-18:31:42.107(-4)? From: "Meteor Accounts" <no-reply@meteor.com>
I20130821-18:31:42.108(-4)? To: hidden@hidden.edu
I20130821-18:31:42.108(-4)? Subject: How to verify email address on localhost:3000
I20130821-18:31:42.109(-4)? Content-Type: text/plain; charset=utf-8
I20130821-18:31:42.109(-4)? Content-Transfer-Encoding: quoted-printable
I20130821-18:31:42.109(-4)? Hello,
I20130821-18:31:42.110(-4)? To verify your account email, simply click the link below.
I20130821-18:31:42.110(-4)? http://localhost:3000/#/verify-email/C2vJeaDLeMkkWmcRY
I20130821-18:31:42.111(-4)? Thanks.
I20130821-18:31:42.111(-4)? ====== END MAIL #0 ======

So it looks like it sends the email from the server but I never get the verification email in my inbox. And I tried multiple times and it has been over an hour! I also checked my spam folder. What gives?

Thanks in advance


回答1:


See here: http://docs.meteor.com/#email

If MAIL_URL is not set (eg, when running your application locally), Email.send outputs the message to standard output instead

Web servers such as Meteor cannot send emails by themselves, they need a SMTP server to do that. You need to set up one and set it with MAIL_URL variable.




回答2:


To configure the MAIL_URL, don't forget to add the core email package:

meteor add email

And then, server-side:

// server/smtp.js
Meteor.startup(function () {
  smtp = {
    username: 'your_username',   // eg: server@gentlenode.com
    password: 'your_password',   // eg: 3eeP1gtizk5eziohfervU
    server:   'smtp.gmail.com',  // eg: mail.gandi.net
    port: 25
  }

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

Read More: Verify an Email with Meteor Accounts.



来源:https://stackoverflow.com/questions/18368877/how-come-my-meteor-app-with-accounts-package-is-not-sending-a-verification-email

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!