使用node.js配合QQ域名郵箱完成郵件發送javascript
npm install nodemailer nodemailer-smtp-transport --save
const nodemailer = require('nodemailer');
html
const smtpTransport = require('nodemailer-smtp-transport');
java
// 引入email 模塊 var nodemailer = require('nodemailer'); var smtpTransport = require('nodemailer-smtp-transport'); // 開啓一個 SMTP 鏈接池 var transport = nodemailer.createTransport(smtpTransport({ host: "smtp.qq.com", // qq郵箱主機 secure: true, // 使用 SSL secureConnection: true, // 使用 SSL port: 465, // SMTP 端口 auth: { user: "noreply@binlive.cn", // 帳號 你自定義的域名郵箱帳號 pass: "olncjtfcim1232312ahj" // 密碼 你本身開啓SMPT獲取的密碼 } })); // 發送郵件路由 router.post('/api/email', function(req, res){ var query = req.body.email; // 設置郵件內容 能夠拼接html 美化發送內容 let htmlcon= '<div style="background:-webkit-linear-gradient(-45deg, #5edac1 0%,#327dda 100%,#1a7a93 100%);width:100%;height:500px;" >'+ '<div style="width: 200px;height:200px;background:url(\'https://avatars5.githubusercontent.com/u/22450881?v=4\') no-repeat; background-size:contain;background-color:#fff; margin:0 auto;position:relative;top:50px; border-radius:5px; box-shadow:2px 2px 2px rgba(1,138,110,.3)">'+ '<P style="color:#fff;font-weight:900;text-align:center;position:absolute;bottom:-100px;width: 100%;font-size: 36px;text-shadow:3px 2px 2px rgba(1,138,110,.6)">BinLive</P>'+ '<a href="http://www.m.binlive.cn/regsuccess?'+""+query+""+'" target="_blank" style="background:-webkit-linear-gradient(-45deg, #4cb1dd 0%,#4bb2dd 100%,#1a7a93 100%);display:block;padding:10px;text-decoration:none;color:#fff;text-align:center;letter-spacing:4px;border-radius:5px;box-shadow:0px 2px 2px 1px rgba(1,138,110,.15);box-sizing:border-box; position:absolute;bottom:-150px;width:200px;">完成註冊</a>'+ '</div>'+ '</div>'; var mailOptions = { from: "noreply@binlive.cn", // 發件地址 to: req.body.email, // 收件列表 subject: "BinLive帳號註冊", // 標題 text:"", html: htmlcon // html 內容 } // 發送郵件 var userobj={ email:req.body.email, passworld:req.body.passworld, hash:hash, isregister:false } transport.sendMail(mailOptions, function(error, response) { if(error){ console.log("fail: " + error); console.log("發送失敗"); res.json({data:1}) }else{ console.log("發送成功"); res.json({data:0}) } transport.close(); // 若是沒用,關閉鏈接池 }); })