<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # **163郵箱為例** ## 郵箱開通授權 ![](https://img.kancloud.cn/9a/c2/9ac2ac0e72d90f5330483ddfb783ff5d_779x348.png) ## **后端** ### **依賴** ``` npm i nodemailer --save ``` ### **創建發送郵件公共方法** 在util問價加下新增mail.js文件 ``` const nodemailer = require("nodemailer"); //引入依賴 /** * 發送郵件 * @param {string} to 收件方郵箱 * @param {string} title 內容標題 * @param {string} content 郵件內容 * @param {Function} callback 回調函數(內置參數) * */ function mail(to, title, content, callback) { /** * 詳細配置文件地址: node_modules/lib/well-known/services */ let transporter = nodemailer.createTransport({ host: "smtp.163.com", port: 465, secure: true, // true for 465, false for other ports auth: { user: "your-email@163.com", //發送方郵箱 pass: "123123", //發送方郵箱的授權碼,一般去郵箱設置里面找,應該可以找到 }, }); let options = { from: "your-email@163.com", //發送方郵箱 to: to, subject: title, text: content, //html: '<h1>這里內容</h1>',text和html任選其一即可 }; //發送郵件 transporter.sendMail(options, (err, data) => { callback && callback(err, data, () => { transporter.close; //成功之后,關閉連接 }); }); } module.exports = mail; //導出函數 ``` ### **創建路由** routers文件夾中新增mailRouter.js文件 ``` const express = require("express"); const router = express.Router(); const mail = require("../util/mail"); router.get("/getcode", (req, res) => { const to = "to@163.com"; let code = Math.floor(Math.random() * 900000) + 100000; //隨機生成 6位數的驗證碼 if (!req.session.mailCode) { req.session.mailCode = {}; } req.session.mailCode[to] = code;// 將指定郵箱的code記錄到session中 mail( to, "歡迎使用", "您的驗證碼為:" + code + ",請妥善保管!", (err, data, successCallback) => { if (err) { res.json({ code: 0, msg: err }); } else { res.json({ code: 200, msg: "驗證碼發送成功" }); successCallback(); } } ); }); module.exports = router; ``` ### **app.js中導入** ``` const mailRouter = require("./routes/mailRouter"); app.use(mailRouter); ``` ## **前端調用** ``` html <el-button type="primary" size="default" @click="sendEmailCode"> 給郵箱發送驗證碼 </el-button> js const sendEmailCode = () => { axios.get("/api/getcode").then((res) => { if (res.data.code === 200) { ElMessage.success(res.data.msg); } else { ElMessage.error(res.data.msg); } }); }; ```
                  <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>

                              哎呀哎呀视频在线观看