Nodejs 发送邮件 示例

Nodejs 发送邮件 示例

前端使用nodejs发送邮件是一款不错的选择,当然需要配置node环境 —— nodejs 环境搭建及基本配置 ;在项目中,需要将数据发送到某个第三方平台的邮箱中,单单使用 javascript 是不能很好的适应我们的需求;但 javascript 可以通过 mailto 来发送邮件,只是它需要本地的支持,另一种通过 javascript 发送邮件的方式是只用于 ie浏览器,其它浏览器都不支持;下面是自己使用总结的发送邮件示例及可能出现的问题:

一、nodejs 发送邮件 —— 准备工作
  1. 在 node 环境下安装 nodemailer

    npm i nodemailer --save
    
  2. 在邮箱控制文件中引入;

    var nodemailer = require('nodemailer')
    
二、nodejs 发送邮件 —— QQ邮箱
  1. 确认将要使用的 QQ邮箱 IMAP/SMTP服务 是开启状态,并获取授权码;
    Nodejs 发送邮件 示例_第1张图片
    点击开启,根据步骤获取授权码;

  2. 在邮箱控制文件中配置,填入自己的邮箱账号和密码

    let transporter = nodemailer.createTransport({
        host: 'smtp.qq.com',
        port: 465,
        secure: true, // 如果是 true 则port填写465, 如果 false 则可以填写其它端口号
        auth: {
            user: "*********@qq.com", // 发件人邮箱地址
            pass: "****************" // QQ授权码
        }
    });
    
  3. 在邮箱控制文件中配置,填写发件人、收件人

    let mailOptions = {
         from: '*********@qq.com', // 发件人地址
         // 收件人列表, 向163邮箱, 139邮箱, qq邮箱各发一封,中间使用逗号分隔
         to: '********@163.com, *************@139.com **********@qq.com',
         // 邮件主题
         subject: 'this is a test',
         // html内容
         html: '
    Hello

    world

    ', // 附件内容 是一个列表, 此处作了注释,可参考 /*attachments: [{ filename: 'data1.json', path: path.resolve(__dirname, 'data1.json') }, { filename: 'pic01.jpg', path: path.resolve(__dirname, 'pic01.jpg') }, { filename: 'test.txt', path: path.resolve(__dirname, 'test.txt') }],*/ };
  4. 在邮箱控制文件中配置,发送邮件

    // 发送邮件
    transporter.sendMail(mailOptions, (error, info) => {
        if (error) {
            return console.log(error);
        }
        console.log("邮件发送成功!");
    });
    
     注意: 
     a. 文件变量名称的对应;
     b.一定要注意授权码,如果设置了授权码,请重启服务  
     c. 第二步填入邮箱和账号里面的 host 配置要注意,有些blog中写的是 QQ ,但经过自己测试不能成功
    
三、nodejs 发送邮件 —— 163邮箱
  1. 在邮箱控制文件中配置,填写邮箱地址和密码

    let transporter = nodemailer.createTransport({
        host: 'smtp.163.com',
        port: 465,
        secure: true, // 如果是 true 则port填写465, 如果 false 则可以填写其它端口号
        auth: {
            user: "##########@163.com", // 发件人邮箱地址
            pass: "********" // 发件人邮箱登录密码
        }
    });
    
  2. 在邮箱控制文件中配置,填写发件人、收件人

      let mailOptions = {
          // 发件人地址
          from: '##########@163.com',
          // 收件人列表, 向163邮箱, 139邮箱, qq邮箱各发一封,中间使用逗号分隔
          to: '********@163.com, *************@139.com **********@qq.com',
          // 邮件主题
          subject: 'this is a test',
          // html内容
          html: '
    Hello

    world

    ', // 附件内容 /*attachments: [{ filename: 'data1.json', path: path.resolve(__dirname, 'data1.json') }, { filename: 'pic01.jpg', path: path.resolve(__dirname, 'pic01.jpg') }, { filename: 'test.txt', path: path.resolve(__dirname, 'test.txt') }],*/ };
  3. 发送邮件 , 该步骤的内容同 qq邮箱 发送内容一样,故不再描述;

     注意: 
     	a. 文件变量名称的对应;
     	b.填写邮箱和账号里面的 host 配置要注意
    

以上两种发送邮件的方式,配置均类似,使用其它第三方平台发送邮件的方式配置也大同小异;本篇只做简单的示例展示,且亲自测试,均可成功发送邮件!
如有疑问可在评论区发言,共同叹讨学习! 抱拳!!!

你可能感兴趣的:(项目运用实例,nodejs发送邮件,js发送邮件,nodemailer,使用,js,邮件示例,nodejs,邮件)