2016-01-07 17 views
5

に私はnodejsに新しいですし、nodemailerモジュールからメールを送信しようとするが、それはエラーすなわち「Unsupported configuration, downgrade Nodemailer to v0.7.1 to use it」を持っています。ここでノードメーラーエラー:「サポートされていない構成では、それを使用するv0.7.1するNodemailerをダウングレードは」localhost

は私のコードです: -

var nodemailer = require('nodemailer'); 
var mailTransport = nodemailer.createTransport('SMTP', { 
    service: 'Gmail', 
    auth: { 
     user: '[email protected]', 
     pass: 'xxxxxxxxx', 
    } 
}); 

mailTransport.sendMail({ 
    from: '"ABC" <[email protected]>', 
    to: '[email protected]', 
    subject: 'Test', 
    text: 'Thank you for contact.', 
}, function (err) { 
    if (err) 
     console.error('Unable to send email: ' + err); 
}); 
+2

チェックアウト[ドキュメント](https://github.com/nodemailer/nodemailer#use-the-default-smtp-transport)。 – robertklep

答えて

12

nodemailer V1を使用するには、このコードを実装してみてください。

var express = require('express'); 
var nodemailer = require("nodemailer"); 
var smtpTransport = require("nodemailer-smtp-transport") 
var app = express(); 

var smtpTransport = nodemailer.createTransport(smtpTransport({ 
    host : "YOUR SMTP SERVER ADDRESS", 
    secureConnection : false, 
    port: 587, 
    auth : { 
     user : "YourEmail", 
     pass : "YourEmailPassword" 
    } 
})); 
app.get('/send',function(req,res){ 
    var mailOptions={ 
     from : "YourEmail", 
     to : "Recipient'sEmail", 
     subject : "Your Subject", 
     text : "Your Text", 
     html : "HTML GENERATED", 
     attachments : [ 
      { // file on disk as an attachment 
       filename: 'text3.txt', 
       path: 'Your File path' // stream this file 
      } 
     ] 
    } 
    console.log(mailOptions); 
    smtpTransport.sendMail(mailOptions, function(error, response){ 
     if(error){ 
      console.log(error); 
      res.end("error"); 
     }else{ 
      console.log(response.response.toString()); 
      console.log("Message sent: " + response.message); 
      res.end("sent"); 
     } 
    }); 
}); 

app.listen(3000,function(){ 
    console.log("Express Started on Port 3000"); 
}); 
+0

TypeError:未定義関数ではありません "smtpTran .." – vinodh

+0

@vinodh smtpTransportが正しくインポートされていることを確認できますか? – Jay

+0

yaその適切にインポート – vinodh

1

これはNodemailer V0.7.1で試すことができます。それは私のために働いた。より最近のnodemailerバージョンとトランスポートを作成する方法について

var express = require('express'); 

var bodyParser = require('body-parser'); 

var app = express(); 

app.use(bodyParser()); 

app.get('/', function(req, res) { 

    var html = '<form action="/" method="post">' + 
     'Enter Email id:' + 
     '<input type="text" name="userEmail"placeholder="Email" />' + 
     '<br>' + 
     '<button type="submit">Submit</button>' + 
     '</form>'; 

    res.send(html); 
}); 
app.post('/', function(req, res) { 

    var userEmail = req.body.userEmail; 

    var nodemailer = require('nodemailer'); 

    var transporter = nodemailer.createTransport("SMTP", { 
     host: 'smtp.gmail.com', 
     secureConnection: false, 
     port: 587, 
     auth: { 
      user: 'dhruv******@gmail.com', //Sender Email id 
      pass: '**********' //Sender Email Password 
     } 
    }); 

    var mailOptions = { 
     from: 'dhruv*******@gmail.com', // sender address 
     to: 'dhaval********@gmail.com', // list of receivers 
     subject: 'Message Form ' + userEmail, // Subject line 
     text: 'Hi....' + userEmail // plaintext body 

    }; 

    transporter.sendMail(mailOptions, function(error, info) { 
     if (error) { 
      return console.log(error); 
     } 
     console.log('Message sent: ' + info.response); 
     var html = 'Hello: ' + userEmail + '.<br>' + 
      '<a href="/">Try again.</a>'; 
     res.send(html); 
    }); 

}); 

app.listen(80); 
関連する問題