最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js使用NodeMailer發(fā)送郵件實例代碼

 更新時間:2017年03月06日 10:37:51   作者:Mike的讀書季  
本篇文章主要介紹了Node.js使用NodeMailer發(fā)送郵件實例代碼,具有一定的參考價值,有興趣的可以了解一下。

0.目標(biāo)

這一節(jié),我將實現(xiàn)一個簡單的發(fā)送郵件功能。

1.部署

1.1 部署Express

如果不知道如何部署,可參照:部署Express

1.2 準(zhǔn)備一個郵箱并開始SMTP服務(wù)

為了實現(xiàn)這個功能,你首先要有一個郵箱;由于需要使用SMTP方式發(fā)送,你還需要開啟相關(guān)功能。你可以登錄你的郵箱,然后開啟這個設(shè)置,以新浪郵箱和QQ郵箱為例:


2.服務(wù)器端

2.1 使用nodemailer

這里要用到nodemailer,需要自行安裝:

npm install nodemailer --save

在routes/index.js中引用nodemailer:

var multer = require('nodemailer');

2.2 配置

在routes/index.js中創(chuàng)建一個傳輸方式:

var mailTransport = nodemailer.createTransport({
  host : 'smtp.sina.com',
  secureConnection: true, // 使用SSL方式(安全方式,防止被竊取信息)
  auth : {
    user : '你的郵箱地址',
    pass : '你的郵箱密碼'
  },
});

注意,低版本的nodemailer可能需要多傳入一個參數(shù)“SMTP”:

var mailTransport = nodemailer.createTransport('SMTP', {
  host : 'smtp.sina.com',
  secureConnection: true, // use SSL
  auth : {
    user : '你的郵箱地址',
    pass : '你的郵箱密碼'
  },
});

2.3 發(fā)送郵件

/* 瀏覽器輸入地址(如127.0.0.1:3000/sned)后即發(fā)送 */
router.get('/send', function(req, res, next) {
  var options = {
    from      : '"你的名字" <你的郵箱地址>',
    to       : '"用戶1" <郵箱地址1>, "用戶2" <郵箱地址2>',
    // cc     : ''  //抄送
    // bcc     : ''  //密送
    subject    : '一封來自Node Mailer的郵件',
    text      : '一封來自Node Mailer的郵件',
    html      : '<h1>你好,這是一封來自NodeMailer的郵件!</h1><p><img src="cid:00000001"/></p>',
    attachments  : 
          [
            {
              filename: 'img1.png',      // 改成你的附件名
              path: 'public/images/img1.png', // 改成你的附件路徑
              cid : '00000001'         // cid可被郵件使用
            },
            {
              filename: 'img2.png',      // 改成你的附件名
              path: 'public/images/img2.png', // 改成你的附件路徑
              cid : '00000002'         // cid可被郵件使用
            },
          ]
  };

  mailTransport.sendMail(options, function(err, msg){
    if(err){
      console.log(err);
      res.render('index', { title: err });
    }
    else {
      console.log(msg);
      res.render('index', { title: "已接收:"+msg.accepted});
    }
  });
});

如果你要發(fā)送附件,則先把要發(fā)送的文件放入工程中,并修改上面代碼的附件的filename和path。

從代碼中可以知道,要在郵件正文中添加圖片,可以設(shè)置圖片的cid,然后在img標(biāo)簽的src中設(shè)置為對應(yīng)的cid即可。

注意,不建議在js代碼中直接嵌入HTML代碼,也不建議把圖片加到郵件正文中。

3.測試

瀏覽器輸入地址(如127.0.0.1:3000/sned)。

發(fā)送等待的時間視附件大小及網(wǎng)絡(luò)帶寬等因素不同,如果有一個很大的附件要發(fā)送,可能會等待很長時間;所以,建議在測試的時候使用小文件。

如果發(fā)送成功,會給出提示:

并在郵箱里收到相應(yīng)的郵件:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nodejs實現(xiàn)批量下載妹紙圖

    Nodejs實現(xiàn)批量下載妹紙圖

    這篇文章主要介紹了使用Nodejs實現(xiàn)批量下載妹紙圖的方法和詳細(xì)代碼,十分的實用,喜歡妹紙的小伙伴們可以參考下。
    2015-05-05
  • 詳解如何在nodejs項目中使用Vue的響應(yīng)式API

    詳解如何在nodejs項目中使用Vue的響應(yīng)式API

    vue3的響應(yīng)式API大家應(yīng)該都特別熟悉,平時大家都是在vue-cli或者vite創(chuàng)建的vue項目里面使用的這些響應(yīng)式API,今天小編來和大家聊聊如何在node.js項目中使用vue的響應(yīng)式API吧
    2024-11-11
  • Node.js項目中調(diào)用JavaScript的EJS模板庫的方法

    Node.js項目中調(diào)用JavaScript的EJS模板庫的方法

    這篇文章主要介紹了Node.js項目中調(diào)用JavaScript的EJS模板庫的方法,通過EJS模板引擎可以制作出維護(hù)性良好的HTML代碼結(jié)構(gòu),需要的朋友可以參考下
    2016-03-03
  • node.js如何自定義實現(xiàn)一個EventEmitter

    node.js如何自定義實現(xiàn)一個EventEmitter

    我們了解到,Node采用了事件驅(qū)動機制,而EventEmitter就是Node實現(xiàn)事件驅(qū)動的基礎(chǔ),本文主要介紹了node.js自定義實現(xiàn)EventEmitter,感興趣的可以了解一下
    2021-07-07
  • 詳解nodejs通過代理(proxy)發(fā)送http請求(request)

    詳解nodejs通過代理(proxy)發(fā)送http請求(request)

    本篇文章主要介紹了nodejs通過代理(proxy)發(fā)送http請求(request),具有一定的參考價值,有興趣的可以了解一下
    2017-09-09
  • nodejs使用PassThrough流進(jìn)行數(shù)據(jù)傳遞合并示例詳解

    nodejs使用PassThrough流進(jìn)行數(shù)據(jù)傳遞合并示例詳解

    這篇文章主要為大家介紹了nodejs使用PassThrough流進(jìn)行數(shù)據(jù)傳遞合并示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • 詳解puppeteer使用代理

    詳解puppeteer使用代理

    這篇文章主要介紹了詳解puppeteer使用代理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 使用pify實現(xiàn)Node.js回調(diào)函數(shù)的Promise化

    使用pify實現(xiàn)Node.js回調(diào)函數(shù)的Promise化

    使用pify庫,你可以非常便利地將任何遵循Node.js回調(diào)風(fēng)格的函數(shù)轉(zhuǎn)換為返回Promise對象的函數(shù),從而使得你的異步代碼更加清晰和易于維護(hù),本文通過豐富的代碼示例引導(dǎo)你如何有效地利用pify,需要的朋友可以參考下
    2024-06-06
  • 詳解npm與package.json之間的聯(lián)系

    詳解npm與package.json之間的聯(lián)系

    這篇文章主要為大家介紹了npm與package.json之間的聯(lián)系圖文示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • nodejs中使用worker_threads來創(chuàng)建新的線程的方法

    nodejs中使用worker_threads來創(chuàng)建新的線程的方法

    這篇文章主要介紹了nodejs中使用worker_threads來創(chuàng)建新的線程的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01

最新評論

皋兰县| 琼结县| 城口县| 双桥区| 公安县| 射阳县| 安塞县| 子长县| 阳春市| 兰西县| 南安市| 泽州县| 苍南县| 腾冲县| 上饶县| 隆尧县| 桂平市| 扎兰屯市| 内乡县| 辰溪县| 双鸭山市| 晴隆县| 营山县| 新龙县| 宁武县| 望江县| 大厂| 炉霍县| 安化县| 乌鲁木齐市| 榆社县| 什邡市| 阿坝县| 屯留县| 鄢陵县| 兴和县| 望奎县| 津南区| 盘山县| 玉田县| 修水县|