如何通过Nodejs中的NodeMailer NPM发送邮件而无需使用电子邮件传递



我知道如何使用NodeMailer发送邮件,但我使用的是电子邮件凭据,但我不想使用它。还有其他发送邮件的方法吗?

我的NodeMailer代码段是

var nodemailer = require('nodemailer');
// Not the movie transporter!
  var transporter = nodemailer.createTransport({
      service: 'gmail',
      auth: {
          user: 'vikaskohli@email.com', // Your email id
          pass: 'password' // Your password
      }
  });
module.exports =
{
   sendEmail: function sendMail(varhtml,vartext, varsubject,varfrom, varfrom_name,varto, varto_name, reply_to_email ) {

       //setup e-mail data with unicode symbols
       var mailOptions = {
            from: varfrom_name, // sender address
          // to: ['vikaskohli@email.com','vikaskohli1@email.com'], // list of receivers
               // to: ['vikaskohli@email.com,vikaskohli1@email.com'], // list of receivers
               // to: 'vikaskohli@email.com','vikaskohli1@email.com', // list of receivers
           to: varto, // list of receivers
           subject: varsubject, // Subject line
           text: vartext, // plaintext body
           html: varhtml // html body
       };

       console.log(mailOptions);
       // send mail with defined transport object
        transporter.sendMail(mailOptions, function (error, info) {
           if (error) {
               return console.log(error);
           }else{
             return console.log(info);
           }
       });

   }
}

在上面的代码中,我也不更改发件人名称。如果我想从其他邮件发送

vikaskohli3@gmail.com

,但它会自动从我在此处使用凭据的邮件发送

vikaskohli@email.com

我也尝试使用sendmail npm,它们不需要任何凭据,但是它在垃圾邮件文件夹中发送邮件

我的sendmail代码段

 var sendmail = require('sendmail')({silent: true})
  sendmail({
    from: 'vikaskohli@email.com',
    to: 'vikaskohli@email.com,vikaskohli1@email.com',
    subject: varsubject, // Subject line
    html: varhtml,
    attachments: [
    ]
  }, function (err, reply) {
    console.log(err && err.stack)
    console.dir(reply)
  });

我像您的底部代码一样使用sendmail,对我来说很好。也许要垃圾邮件的原因是您在电子邮件提供商中的设置。您最有可能作为发送者选择的电子邮件(@email.com(似乎是该服务提供商或您的设置的垃圾邮件。