node发送邮件

Posted 张书达

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node发送邮件相关的知识,希望对你有一定的参考价值。


 

app.js

//发送邮件
var nodemailer = require(‘nodemailer‘);  
var transporter = nodemailer.createTransport({  
  service: ‘qq‘,  
  auth: {  
    user: ‘[email protected]‘,  
    pass: ‘XXXXXXXXXXXXX‘ //授权码,通过QQ获取  
  
  }  
  });  
  var mailOptions = {  
    from: ‘[email protected]‘, // 发送者  
    to: ‘[email protected]‘, // 接受者,可以同时发送多个,以逗号隔开  
    subject: ‘nodemailer2.5.0邮件发送‘, // 标题  
    //text: ‘Hello world‘, // 文本  
    html: `<h2>nodemailer基本使用:</h2><h3>  
    <a href="http://blog.csdn.net/zzwwjjdj1/article/details/51878392">  
    http://blog.csdn.net/zzwwjjdj1/article/details/51878392</a></h3>`   
  };  
  
  transporter.sendMail(mailOptions, function (err, info) {  
    if (err) {  
      console.log(err);  
      return;  
    }  
  
    console.log(‘发送成功‘);  
  });

 

 

app1.js

//发送附件
var nodemailer = require(‘nodemailer‘);  
var transporter = nodemailer.createTransport({  
    service: ‘qq‘,  
    auth: {  
        user: ‘[email protected]‘,  
        pass: ‘XXXXXXXXXXX‘ //授权码,通过QQ获取  
      
      }   
    });  
    var mailOptions = {  
        from: ‘[email protected]‘, // 发送者  
        to: ‘[email protected]‘, // 接受者,可以同时发送多个,以逗号隔开 
      subject: ‘nodemailer2.5.0邮件发送‘, // 标题  
      //text: ‘Hello world‘, // 文本  
      html: `<h2>nodemailer基本使用:</h2><h3>  
      <a href="http://blog.csdn.net/zzwwjjdj1/article/details/51878392">  
      http://blog.csdn.net/zzwwjjdj1/article/details/51878392</a></h3>`,  
      attachments:[  
        {  
          filename : ‘package.json‘,  
          path: ‘./package.json‘  
        },  
        {  
          filename : ‘content‘,  
          content : ‘发送内容‘  
        }  
      ]  
    };  
    
    transporter.sendMail(mailOptions, function (err, info) {  
      if (err) {  
        console.log(err);  
        return;  
      }  
    
      console.log(‘发送成功‘);  
    });

 

 

 

 

 

 

 

nodejs模块nodemailer基本使用-邮件发送(支持附件)

2016-07-11 10:00 7065人阅读 评论(3) 收藏 举报

 分类:

nodejs(50) 

版权声明:本文为 zzwwjjdj1(意外金喜) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。

目录(?)[+]

nodemailer是nodejs中的邮件发送模块,本文使用的版本为2.5.0

--下载模块

npm install nodemailer

npm下载模块后,在项目中引入就可以使用: var nodemailer = require(‘nodemailer‘);

以QQ邮箱为例.

--获取授权码

进入QQ个人邮箱, 设置-账户-开启服务POP3/SMTP服务,并生成授权码,现在获取授权码需要验证手机号等.

技术分享

--后端代码

[javascript] view plain copy

1.  var nodemailer = require(‘nodemailer‘);  

2.  var transporter = nodemailer.createTransport({  

3.    service: ‘qq‘,  

4.    auth: {  

5.      user: ‘[email protected]‘,  

6.      pass: ‘ugxovfwhvxxxxxx‘ //授权码,通过QQ获取  

7.    

8.    }  

9.    });  

10.   var mailOptions = {  

11.     from: ‘[email protected]‘, // 发送者  

12.     to: ‘[email protected]‘, // 接受者,可以同时发送多个,以逗号隔开  

13.     subject: ‘nodemailer2.5.0邮件发送‘, // 标题  

14.     //text: ‘Hello world‘, // 文本  

15.     html: `<h2>nodemailer基本使用:</h2><h3>  

16.     <a href="http://blog.csdn.net/zzwwjjdj1/article/details/51878392">  

17.     http://blog.csdn.net/zzwwjjdj1/article/details/51878392</a></h3>`   

18.   };  

19.   

20.   transporter.sendMail(mailOptions, function (err, info) {  

21.     if (err) {  

22.       console.log(err);  

23.       return;  

24.     }  

25.   

26.     console.log(‘发送成功‘);  

27.   });  

--运行结果

技术分享

--发送附件

[javascript] view plain copy

1.  var transporter = nodemailer.createTransport({  

2.    service: ‘qq‘,  

3.    auth: {  

4.      user: ‘[email protected]‘,  

5.      pass: ‘ugxovfwhvxypxxxx‘  

6.    }  

7.    });  

8.    var mailOptions = {  

9.      from: ‘[email protected]‘, // 发送者  

10.     to: ‘[email protected]‘, // 接受者,可以同时发送多个,以逗号隔开  

11.     subject: ‘nodemailer2.5.0邮件发送‘, // 标题  

12.     //text: ‘Hello world‘, // 文本  

13.     html: `<h2>nodemailer基本使用:</h2><h3>  

14.     <a href="http://blog.csdn.net/zzwwjjdj1/article/details/51878392">  

15.     http://blog.csdn.net/zzwwjjdj1/article/details/51878392</a></h3>`,  

16.     attachments:[  

17.       {  

18.         filename : ‘package.json‘,  

19.         path: ‘./package.json‘  

20.       },  

21.       {  

22.         filename : ‘content‘,  

23.         content : ‘发送内容‘  

24.       }  

25.     ]  

26.   };  

27.   

28.   transporter.sendMail(mailOptions, function (err, info) {  

29.     if (err) {  

30.       console.log(err);  

31.       return;  

32.     }  

33.   

34.     console.log(‘发送成功‘);  

35.   });  

--运行结果

技术分享

将附件下载下来,打开

 

 

/**

     * 设置邮件内容

     * @type {string}

     */

    var subject = ‘‘;      // 标题

    var text = ‘‘ ;   

    var html = ‘‘;     // 邮件内容

 

    /**

     * 创建服务

     */

    var transporter = nodemailer.createTransport({

        service: ‘qq‘,

        port: 465, // SMTP 端口

        secureConnection: true, // 使用 SSL

        auth: {

            user: blogSystem.user,  //发件人

            pass: blogSystem.pass   //smtp密码

        }

    });

 

    /**

     * 设置参数

     * @type {{from: string, to: string, subject: string, text: string, html: string}}

     */

    var mailOptions = {

        from: blogSystem.user, // 发件地址

        to: email, // 收件列表

        subject: subject, // 标题

        //text和html两者只支持一种

        text: text, // 标题

        html: html // html 内容

    };

 

    /**

     * 发送邮件

     */

    transporter.sendMail(mailOptions, function(error, info){

        if(error){

            return console.log(error);

        }

        console.log(‘Message sent: ‘ + info.response);

 

    });

 

技术分享

这个发送附件应该算个不错的功能.

 


































































以上是关于node发送邮件的主要内容,如果未能解决你的问题,请参考以下文章

node.js邮件发送

超实用的php代码片段

node.js学习使用node.js定时发送邮件任务

Javascript - 使用 HTML 片段通过电子邮件发送 JSON 输出

电子邮件正文在文件中发送 [Gmail API, Node.js]

C#和ASP.NET通过Gmail账户发送邮件的代码