Appearance
email — 邮件工具
email 模块提供了邮件发送和辅助功能。
引入方式
javascript
var email = require("email")Builder 构建模式
javascript
var client = email.New()
.Provider("smtp")
.Config({
Host: "smtp.example.com",
Port: 465,
Username: "noreply@example.com",
Password: "your-password",
From: "noreply@example.com"
})
.Build()支持的提供商
smtp、sendgrid、mailgun、aws_ses、aliyun_dm、tencent_ses、postmark、resend
发送邮件
Send — 发送邮件
javascript
client.Send({
To: ["user@example.com"],
Subject: "欢迎注册",
Body: "欢迎您注册SSS-RUN!"
})SendBatch — 批量发送
javascript
client.SendBatch({
To: ["user1@example.com", "user2@example.com"],
Subject: "系统通知",
Body: "系统将于今晚维护"
})辅助方法
javascript
var emailUtil = email.New()
// 验证邮箱
emailUtil.ValidateEmail("test@example.com") // true
// 邮箱脱敏
emailUtil.MaskEmail("test@example.com") // "t***@example.com"
// 提取域名
emailUtil.ExtractDomain("test@example.com") // "example.com"
// 生成验证码
var code = emailUtil.GenerateCode(6) // "123456"完整示例
javascript
var email = require("email")
// 创建 SMTP 客户端
var client = email.New()
.Provider("smtp")
.Config({
Host: env.Get("SMTP_HOST"),
Port: 465,
Username: env.Get("SMTP_USER"),
Password: env.Get("SMTP_PASS"),
From: env.Get("SMTP_FROM")
})
.Build()
// 发送验证码邮件
var code = Math.floor(Math.random() * 900000 + 100000).toString()
client.Send({
To: [request.Input("email")],
Subject: "验证码",
Body: "您的验证码是: " + code + ",5 分钟内有效"
})
// 缓存验证码
redis.Set("verify:" + request.Input("email"), code, 300)
response.Success({ message: "验证码已发送" })