Почему мое приложение Meteor со своим аккаунтом не отправляет электронное письмо с подтверждением?

Я создаю приложение meteor, и у меня есть пакет паролей mrt accounts-password, а также mrt accounts-ui-bootstrap-dropdown.

Я добавил кнопки входа, чтобы пользователи могли создавать учетную запись, и это работает отлично. Я использую все значения по умолчанию.

На сервере у меня есть код:

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

И когда я создаю новую учетную запись, консоль сервера печатает:

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" <[email protected]>
I20130821-18:31:42.108(-4)? To: [email protected]
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 ======

Итак, похоже, что он отправляет письмо с сервера, но я никогда не получаю письмо с подтверждением в своем почтовом ящике. И я много раз пробовал, и прошло больше часа! Я также проверил папку со спамом. Что дает?

Заранее спасибо

Ответ 1

Смотрите здесь: http://docs.meteor.com/#email

Если MAIL_URL не установлен (например, при запуске приложения локально), Email.send выводит сообщение на стандартный вывод вместо

Веб-серверы, такие как Meteor, не могут самостоятельно отправлять электронные письма, для этого им нужен SMTP-сервер. Вам нужно настроить его и установить с помощью переменной MAIL_URL.

Ответ 2

Чтобы настроить MAIL_URL, не забудьте добавить основной пакет электронной почты:

meteor add email

И затем, серверная сторона:

// server/smtp.js
Meteor.startup(function () {
  smtp = {
    username: 'your_username',   // eg: [email protected]
    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;
});

Подробнее: Проверить электронную почту с учетными записями Meteor.