📌  相关文章
📜  如何在 Node.js 中使用 nodemailer 发送附件和电子邮件?

📅  最后修改于: 2022-05-13 01:56:47.510000             🧑  作者: Mango

如何在 Node.js 中使用 nodemailer 发送附件和电子邮件?

为此,我们将使用一个名为nodemailer的包。这是一个使电子邮件发送变得非常容易的模块。要使用它,您需要使用以下命令进行安装:

$ npm install nodemailer

nodemailer模块的特点:

  • 它具有零依赖性和高度安全性。
  • 无论是 Azure 还是 Windows 盒子,您都可以轻松使用它。
  • 它还带有用于处理消息的自定义插件支持。

为了发送电子邮件,创建一个名为index.js的文件并记下以下代码:
文件名:index.js

javascript
var nodemailer = require("nodemailer");
 
var sender = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: 'username@gmail.com',
    pass: 'your_password'
  }
});
 
var mail = {
  from: "username@gmail.com",
  to: "receiver's_username@gmail.com",
  subject: "Sending Email using Node.js",
  text: "That was easy!"
};
 
sender.sendMail(mail, function(error, info) {
  if (error) {
    console.log(error);
  } else {
    console.log("Email sent successfully: "
                 + info.response);
  }
});


javascript
var nodemailer = require("nodemailer");
 
var sender = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'username@gmail.com',
        pass: 'your_password'
    }
});
 
var mail = {
    from: 'username@gmail.com',
    to:
'first_username@gmail.com, second_username@gmail.com',
    subject: 'Sending Email using Node.js',
    text: 'That was easy!',
  html:
"

GeeksforGeeks

I love geeksforgeeks

",   attachments: [         {             filename: 'mailtrap.png',             path: __dirname + '/mailtrap.png',             cid: 'uniq-mailtrap.png'         }     ] };   sender.sendMail(mail, function (error, info) {     if (error) {         console.log(error);     } else {         console.log('Email sent successfully: '                 + info.response);     } });


运行此程序的步骤:为了运行此文件,只需将 Git Bash 放入您的工作目录并键入以下命令:

$ nodemon index.js

如果您没有安装 nodemon,则只需运行以下命令:

$ node index.js

要仔细检查它的工作,您可以转到收件人的邮件,您将收到以下邮件,如下所示:

如果您有多个接收器怎么办?
那么在这种情况下,只需在您的邮件函数中添加以下代码:

to: 'first_username@gmail.com, second_username@gmail.com'

如果您想向接收方发送 HTML 格式的文本怎么办?
那么在这种情况下,只需在您的邮件函数中添加以下代码:

html: "

GeeksforGeeks

I love geeksforgeeks

"

如果你想向接收者发送附件怎么办?
那么在这种情况下,只需在您的邮件函数中添加以下代码:

attachments: [
    {
      filename: 'mailtrap.png',
      path: __dirname + '/mailtrap.png',
      cid: 'uniq-mailtrap.png' 
    }
  ]

最终的index.js文件如下所示:
文件名:index.js

javascript

var nodemailer = require("nodemailer");
 
var sender = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'username@gmail.com',
        pass: 'your_password'
    }
});
 
var mail = {
    from: 'username@gmail.com',
    to:
'first_username@gmail.com, second_username@gmail.com',
    subject: 'Sending Email using Node.js',
    text: 'That was easy!',
  html:
"

GeeksforGeeks

I love geeksforgeeks

",   attachments: [         {             filename: 'mailtrap.png',             path: __dirname + '/mailtrap.png',             cid: 'uniq-mailtrap.png'         }     ] };   sender.sendMail(mail, function (error, info) {     if (error) {         console.log(error);     } else {         console.log('Email sent successfully: '                 + info.response);     } });