2017-08-02 21 views
0

nodemailerモジュールを使用しているユーザーにnode.jsを使用して電子メールを送信しようとしましたが、Node.jsを使用してメールを送信するためにnodemailerを実装中にエラーが発生しました

エラー:

this.transporter.mailer = this; 
           ^

TypeError: Cannot create property 'mailer' on string 'SMTP' 
    at Mail (/opt/lampp/htdocs/heroku/FGDP/node_modules/nodemailer/lib/mailer/index.js:45:33) 
    at Object.module.exports.createTransport (/opt/lampp/htdocs/heroku/FGDP/node_modules/nodemailer/lib/nodemailer.js:46:14) 
    at Object.<anonymous> (/opt/lampp/htdocs/heroku/FGDP/api/api.js:8:32) 
    at Module._compile (module.js:570:32) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 
    at Module.require (module.js:497:17) 
    at require (internal/module.js:20:19) 

私は以下の私のコードを説明しています。

var nodemailer = require("nodemailer"); 
var smtpTransport = nodemailer.createTransport("SMTP",{ 
    service: "Gmail", 
    auth: { 
     user: "[email protected]", 
     pass: "***********" 
    } 
}); 

ここで、有効なユーザーにメールを送信する必要がありますが、上記のエラーが発生します。

+0

のようなもので、最初のパラメータは「JavaScriptのオブジェクトではなく文字列であると思いますSMTP "。 – Myonara

答えて

2

私は正しい構文は、[このドキュメント](https://nodemailer.com/smtp/)によると、この

var nodemailer = require("nodemailer"); 
var smtpTransport = nodemailer.createTransport({ 
service: "Gmail", 
auth: { 
    user: "[email protected]", 
    pass: "***********" 
} 
}); 
+0

heroku展開では機能しません。 – satya

+0

これは単なる例でした。私はあなたが "SMTP"を取り除かなければならないと言っていました。 nodemailerのドキュメントにはありません –

関連する問題