Question

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

Was it helpful?

Solution

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.

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top