展開する準備ができている Meteor アプリケーションがあり、最終的にそれを gmail アカウントに接続して電子メールを送信するところまで来ました。電子メール構成は次のようにセットアップされます
Meteor.startup(function () {
smtp = {
username: 'noreply@cloaklabs.com',
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
これはバグのように感じます。SOに関する関連する質問に近づくのは555 5.5.2構文エラーです。gmailのsmtpを使用することをお勧めします
"name <emailAddress>"
受信者のアドレスを単に「emailAddress」にする代わりに、Accounts.createUser() を介してこの構文をプッシュする方法はなく、いずれにせよ Email.send() はその複雑さなしに機能します。