2016-01-07 17 views
5

ve nodemailer modülünden posta göndermeye çalıştığında "Desteksiz konfigürasyon, kullanmak v0.7.1 için Nodemailer downgrade" ama bu hatayı yani "Unsupported configuration, downgrade Nodemailer to v0.7.1 to use it" vardır.Düğüm Mailer hatası: Ben nodejs için yeni localhost

İşte benim kodudur: -

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

Kontrol dışarı [dokümantasyon] (https://github.com/nodemailer/nodemailer#use-the-default-smtp-transport). – robertklep

cevap

12

bu kodu uygulamaya çalışıyorum, nodemailer v1 kullanın.

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: undefined "smtpTran .." işlevi değil – vinodh

+0

@vinodh smtpTransport'un doğru şekilde alındığını kontrol edebilir misiniz? – Jay

+0

ya da doğru şekilde içe aktarıldı – vinodh

1

Bunu bir Nodemailer V0.7.1 ile deneyebilirsiniz. Benim için çalıştı. Daha yeni nodemailer sürümleri ile bir taşıma oluşturmaya ilişkin

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);