2015-02-19 3 views
0

У нас есть приложение Meteor, которое мы собираемся развернуть, и мы, наконец, собираемся подключить его к учетной записи gmail для отправки электронной почты. Конфигурация электронной почты установлена ​​какМетеоритные счета не работают с gmail, а Email.send работает, почему?

Meteor.startup(function() { 
    smtp = { 
    username: '[email protected]', 
    password: 'abcdabcdabcdabcd', // masked - a gmail application-specific 16 character password to use for two-factor auth 
    server: 'smtp.gmail.com', 
    port: 587 // also tried 465 to no avail 
    }; 
    process.env.MAIL_URL = 'smtp://' + encodeURIComponent(smtp.username) + ':' + encodeURIComponent(smtp.password) + '@' + encodeURIComponent(smtp.server) + ':' + smtp.port; 
}); 

Когда приложение вызывает Email.send (...), письмо отправляется успешно.

Однако, когда мы делаем:

Accounts.createUser({email: email, password: password, profile: profile},function(err){...}) 

Мы получаем следующую отслеживающий в журнале сервера:

Exception while invoking method 'createUser' SenderError: Mail from command failed - 555 5.5.2 Syntax error. ba12sm12306756pac.23 - gsmtp 
at Object.Future.wait (/Users/Michel/.meteor/packages/meteor-tool/.1.0.40.1wbeh3b++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:326:15) 
at smtpSend (packages/email/email.js:91:1) 
at Object.Email.send (packages/email/email.js:168:1) 
at Object.Accounts.sendVerificationEmail (packages/accounts-password/password_server.js:602:1) 
at Meteor.methods.createUser (packages/accounts-password/password_server.js:723:1) 
at tryLoginMethod (packages/accounts-base/accounts_server.js:186:1) 
at Object.Accounts._loginMethod (packages/accounts-base/accounts_server.js:302:1) 
at [object Object].Meteor.methods.createUser (packages/accounts-password/password_server.js:699:1) 
... traceback truncated 

Это чувствует, как ошибка. Примерно так близко, как я к соответствующему вопросу о ТАК 555 5.5.2 Syntax error. gmail's smtp Там рекомендация использовать

"name <emailAddress>" 

вместо просто «EMAILADDRESS» для адреса получателя, но нет никакого способа, чтобы подтолкнуть этот синтаксис через Accounts.createUser (), и в любом случае Email.send() работает без этого усложнения.

ответ

0

Ну, это глупо: он просто оказался разбросанным символом на странице Accounts.emailTemplates.from. Пришлось отлаживать email.js Meteor с инспектором узлов, чтобы в конечном итоге найти его, но теперь он работает.

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