邮件服务在我们作业中邮件服务充当着一个重要的人物
-
- 使命分配与盯梢:邮件服务能够用于分配使命、指使作业和盯梢项目进展。经过邮件,能够发送使命清单、作业阐明和进度更新,保证团队成员了解其责任和使命要求,并监控作业的完成状况。
-
- 过错报告和毛病扫除:当程序出现过错或异常时,程序员能够经过邮件将过错报告发送给团队成员或相关方。这样能够帮助团队了解问题的性质、复现步骤和相关环境,从而更好地进行毛病扫除和修正。邮件中能够供给具体的过错消息、堆栈盯梢和其他相关信息,以便其他团队成员能够更好地理解问题并供给解决方案。
-
- 主动化构建和持续集成:在持续集成和主动化构建过程中,邮件服务能够用于告诉团队成员构建状况、单元测验结果和代码覆盖率等信息。假如构建失败或出现警告,体系能够主动发送邮件告诉相关人员,以便及时采取相应措施。
代码编写
需要用到库
npm install js-yaml
npm install nodemailer
我们邮件的账号(暗码| 授权码)不可能明文写到代码里面一般存放在yaml文件或许环境变量里面
js-yaml 解析yaml文件
pass: 授权码 | 暗码
user: xxxxx@qq.com 邮箱账号
import nodemailder from 'nodemailer'
import yaml from 'js-yaml'
import fs from 'node:fs'
import http from 'node:http'
import url from 'node:url'
const mailConfig = yaml.load(fs.readFileSync('./mail.yaml', 'utf8'))
const transPort = nodemailder.createTransport({
service: "qq",
port: 587,
host: 'smtp.qq.com',
secure: true,
auth: {
pass: mailConfig.pass,
user: mailConfig.user
}
})
http.createServer((req, res) => {
const { pathname } = url.parse(req.url)
if (req.method === 'POST' && pathname == '/send/mail') {
let mailInfo = ''
req.on('data', (chunk) => {
mailInfo += chunk.toString()
})
req.on('end', () => {
const body = JSON.parse(mailInfo)
transPort.sendMail({
to: body.to,
from: mailConfig.user,
subject: body.subject,
text: body.text
})
res.end('ok')
})
}
}).listen(3000)
nodemailder.createTransport 创立邮件服务这儿用qq举例,
QQ邮件服务文档
POP3/SMTP 设置方法
用户名/帐户: 你的QQ邮箱完好的地址
暗码: 生成的授权码
电子邮件地址: 你的QQ邮箱的完好邮件地址
接纳邮件服务器: pop.qq.com,运用SSL,端口号995
发送邮件服务器: smtp.qq.com,运用SSL,端口号465或587
授权码生成
测验发送
POST http://localhost:3000/send/mail HTTP/1.1
Content-Type: application/json
{
"to":"xxxxx@qq.com",
"subject":"标题",
"text":"我想你了,你还好吗Rong"
}