Почему мое приложение 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.