如何在Node.js中发送电子邮件

4
我阅读了如下内容:在Node.js中发送电子邮件?但我正在寻找一种不通过smtp服务器发送电子邮件的方法。就像在Linux环境下您有不同的选项,例如sendmail 当然我可以利用我所在环境中已经存在的功能,但如果可能的话,我很想学习如何仅使用js来发送电子邮件。
我使用smtp模块设置了一个smtp服务器:https://github.com/andris9/smtp-server ,因此我对已经设置好的服务器的传递部分感兴趣。
4个回答

5

如果我没记错,这是最小传输配置 var transporter = nodemailer.createTransport('direct:?name=hostname');。从文档中获取第一个示例,将传输配置替换为此配置,应该可以工作。 - user1695032
正在使用此模块来发送电子邮件:https://github.com/nodemailer/nodemailer-direct-transport - superhero

1
首先:安装 nodemailer
npm install nodemailer
然后将此代码放入您的 Node 文件中:
var nodemailer = require('nodemailer');
var http = require('http');
var url = require('url');
console.log("Creating Transport")
var transporter = nodemailer.createTransport({
    service:'Hotmail',
    auth: {
        user:'salace2008765@outlook.com',
        pass: 'alice123@'
   }
});
var mailOptions = {
    from:'salace2008765@outlook.com',
    to: 'jerome20090101@gmail.com',
    subject: 'This is a test: test',
    text:'TgK'
}
console.log("Sending mail")
transporter.sendMail(mailOptions, function(error, info) {
    if (error) {
        console.log(error);
    } else {
        console.log('Email sent: ' + info.response)
    }
})

这通常是有效的。 来源:W3SchoolsNodemailer官方网站


0

你可以在Node.js中使用sendmail。我已经使用过它,并且它对我来说运行良好。

npm install sendmail --save

const sendmail = require('sendmail')();
 
sendmail({
    from: 'no-reply@yourdomain.com',
    to: 'test@qq.com, test@sohu.com, test@163.com ',
    subject: 'test sendmail',
    html: 'Mail of test sendmail ',
  }, function(err, reply) {
    console.log(err && err.stack);
});

https://www.npmjs.com/package/sendmail


0
     var nodemailer = require('nodemailer');
     var send = require('gmail-send');
     var mailserverifo = nodemailer.createTransport({
     service: 'gmail',
     host : "smtp.gmail.com",
     port : "465",
     ssl : true,
     auth: {
     user: 'email@gmail.com',
     pass: 'password@'
    }
    });
      var Mailinfo = {
      from: 'email@gmail.com',
      to: 'email@info.com',
      subject: 'Testing email from node js server',
      text: 'That was easy!'
     };

    mailserverifo.sendMail(Mailinfo, function(error, info){
    if (error) {
     console.log(error);
    } else {
     console.log('Email Send Success: ' + info.response);
    }
    });

   Enable less secure app form setting -
   https://www.google.com/settings/security/lesssecureapps
   Disable Captcha  - 
   https://accounts.google.com/b/0/displayunlockcaptcha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接