<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] ### egg.js 封裝 nodeMailer 郵件發送類 文檔:[https://nodemailer.com/about/](https://nodemailer.com/about/) * [ ] 安裝:npm install nodemailer --save * [ ] 郵箱授權: 進入郵箱 》 設置 》 賬戶 》POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務 開啟POP3/SMYP服務,獲取授權碼 ![](https://box.kancloud.cn/0d3cfa1f406928101ea7d3094ee017e7_801x189.png) * [ ] 使用nodemailer ``` // 這里舉簡單例子,也可以封裝成service來調用 // 引入nodemailer const nodemailer = require('nodemailer'); // 封裝發送者信息 const transporter = nodemailer.createTransport({ service: 'qq', // 調用qq服務器 secureConnection: true, // 啟動SSL port: 465, // 端口就是465 auth: { user: 'xxxxx@qq.com', // 賬號 pass: 'xxxxxxxxxx', // 授權碼, }, }); // 郵件參數及內容 const mailOptions = { from: 'xxxxx@qq.com', // 發送者,與上面的user一致 to: 'xxxx@xxx.com', // 接收者,可以同時發送多個,以逗號隔開 subject: '測試的郵件', // 標題 // text: '測試內容', // 文本 html: '<h2>測試一下:</h2><a class="elem-a" href="https://baidu.com"><span class="content-elem-span">測試鏈接</span></a>', }; // 調用函數,發送郵件 await transporter.sendMail(mailOptions, function(err, info) { if (err) { console.log(err); return; } console.log(info); }); ``` ***** * [ ] 簡單封裝 上面是直接使用nodemailer,在實際開發中,我們可以對其進行簡單封裝,以便調用 在app/service/tool.js文件 ``` // app/service/tool.js 'use strict'; const Service = require('egg').Service; const nodemailer = require('nodemailer'); const user_email = 'example@qq.com'; const auth_code = 'xxxxxx'; const transporter = nodemailer.createTransport({ service: 'qq', secureConnection: true, port: 465, auth: { user: user_email, // 賬號 pass: auth_code, // 授權碼 }, }); class ToolService extends Service { async sendMail(email, subject, text, html) { const mailOptions = { from: user_email, // 發送者,與上面的user一致 to: email, // 接收者,可以同時發送多個,以逗號隔開 subject, // 標題 text, // 文本 html, }; try { await transporter.sendMail(mailOptions); return true; } catch (err) { return false; } } } module.exports = ToolService; ``` * [ ] 在測試controller中調用, app/controller/test.js ``` // app/controller/test.js 'use strict'; const Controller = require('egg').Controller; class TestController extends Controller { async testSendMail() { const ctx = this.ctx; const email = 'xxxxxx@163.com'; // 接收者的郵箱 const subject = '測試郵件'; const text = '這是一封測試郵件'; const html = '<h2>測試一下::</h2><a class="elem-a" href="https://baidu.com"><span class="content-elem-span">測試鏈接</span></a>'; const has_send = await this.service.tool.sendMail(email, subject, html); if (has_send) { ctx.body={ message: '發送成功', }; return; } ctx.body={ message: '發送失敗', }; } } module.exports = TestController; ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看