NodeJS发送邮件

实在这个功用许多人都写过了,然则网上有的代码不能用,版本较老,因而写下本身探索的方法来完成。

设置篇

起首须要装置nodemailer库

npm install nodemailer//默许会装置最新的版本。

关于这个库的文档拜见nodemailer

库的一些运用引见

这个库运用方法很简单的。起首是要建立一个用于发送邮件的实例

var transporter = nodemailer.createTransport(transport[, defaults])

transport参数属性

属性太多了就只写一些症结的属性

  • port:衔接的端口号,平常就是465

  • host:你用于发送邮件的服务器的host,比方163的host是stmp.163.com

  • auth:这个就是和老版本不一样的处所了。新版本是用一个字面量存储用户名和暗码。注重你的邮箱要开启stmp。

    • user:用户名

    • pass:暗码。假如你的163设置了第三方登录暗码的话这里要填你的第三方登录暗码、

设置好了这些就能够运用啦~这里贴上我的设置

var smtpConfig = {
    host: 'smtp.163.com',
    port: 465,
    auth: {
        user: 'xxxx',
        pass: 'xxxx'
    }
};
var transporter = nodemailer.createTransport(smtpConfig);

运用篇

如今我们能够运用以下函数举行发送邮件

transporter.sendMail(data[, callback])

data邮件内容

  • from 邮件的发件人

  • to 邮件的收件人

  • subject 主题

  • text 邮件是以文本的体式格局举行发送

  • html 邮件内容是html网页结果

  • attachments 附件。细致能够看官方文档

callback回调函数

吸收两个参数 err和info

err

假如失利了就能够打印这个对象看相干信息

info

能够看许多发送状况的信息

  • messageID 会返回信息的messageID值,我也不太懂

  • accepted 是一个数组,包含服务器吸收的内容的地点

  • rejected 意义和上面差不多,就是相反的意义

好了说完了我们就能够发送邮件了

var sendmail = function(html){
    var option = {
        from:"sender",
        to:"accepter",
        subject : '来自node的邮件',
        html : html
    }
    transporter.sendMail(option, function(error, response){
        if(error){
            console.log("fail: " + error);
        }else{
            console.log("success: " + response.messageID);
        }
    });
}

sendmail("邮件内容:<br/>这是来自nodemailer发送的邮件");

结束~

    原文作者:其遇
    原文地址: https://segmentfault.com/a/1190000007111377
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞