mm_email
v1.0.8
Published
这是超级美眉发送邮件类,基于 nodemailer 实现,支持异步操作。
Readme
mm_sms
这是一个基于 nodsmser 的短信发送模块,支持发送文本、HTML 内容和附件。继承自 mm_expand.Base 类,提供日志记录功能。
安装
npm install mm_sms快速开始
const { Sms } = require('mm_sms');
// 配置邮箱信息
const config = {
host: 'smtp.qq.com', // SMTP 服务器地址
port: 465, // SMTP 端口
username: '[email protected]', // 邮箱账号
password: 'xxxxxx' // 邮箱密码或授权码
};
// 创建实例
const sms = new Sms(config);
// 发送短信
async function sendSms() {
try {
const result = await sms.send(
'短信标题',
'短信内容',
null,
'[email protected]'
);
sms.logger('debug', result ? '发送成功' : '发送失败');
} catch (err) {
sms.logger('error', '发送失败:', err);
}
}
sendSms();API 文档
类:Sms
继承自 mm_expand.Base 类。
构造函数
new Sms(config)参数说明:
config(Object): 邮箱配置对象host(String): SMTP 服务器地址,默认为 'smtp.qq.com'port(Number): SMTP 端口,默认为 465username(String): 邮箱账号password(String): 邮箱密码或授权码to(Array): 默认收件人列表,默认为空数组
方法
send(title, content, attachments, ...to)
发送短信的主要方法。
参数说明:
title(String): 短信标题content(String): 短信内容,支持纯文本或 HTMLattachments(Array|null): 附件配置数组,可选- 每个附件对象格式:
{ filename: '文件名.txt', // 附件显示的文件名 path: './path/to/file' // 文件路径 }
- 每个附件对象格式:
...to(String): 收件人邮箱地址,支持多个收件人
返回值:
- Promise: 成功返回 true,失败返回 false
add(...to)
添加收件人到默认列表。
参数说明:
...to(String): 收件人邮箱地址
返回值:
- Sms: 当前实例,支持链式调用
model()
创建短信配置模型。
返回值:
- Object: 短信配置对象模板
sendModel(data)
使用完整短信配置发送短信。
参数说明:
data(Object): 完整的短信配置对象
返回值:
- Promise: 成功返回 true,失败返回 false
close()
关闭短信连接池。
返回值:
- Promise
示例
发送 HTML 内容
const { Sms } = require('mm_sms');
const sms = new Sms(config);
await sms.send(
'生日祝福',
'<h1>生日快乐!</h1><p>祝你永远幸福!</p>',
null,
'[email protected]'
);发送带附件的短信
const { Sms } = require('mm_sms');
const sms = new Sms(config);
await sms.send(
'项目文档',
'请查收附件中的项目文档',
[{
filename: '项目说明.txt',
path: './docs/project.txt'
}],
'[email protected]'
);发送给多个收件人
const { Sms } = require('mm_sms');
const sms = new Sms(config);
// 方法1:直接传入多个收件人
await sms.send(
'会议通知',
'明天下午3点开会',
null,
'[email protected]',
'[email protected]',
'[email protected]'
);
// 方法2:先添加收件人再发送
sms.add('[email protected]', '[email protected]');
await sms.send('会议通知', '明天下午3点开会');使用短信模型发送
const { Sms } = require('mm_sms');
const sms = new Sms(config);
const model = sms.model();
model.subject = '自定义主题';
model.html = '<h1>自定义内容</h1>';
model.to = '[email protected]';
await sms.sendModel(model);全局实例
如果存在全局 $ 对象且没有 $.sms 属性,模块会自动创建全局实例:
// 自动创建全局实例
$.sms.send('标题', '内容', null, '[email protected]');注意事项
- 使用 QQ 邮箱发送短信时,password 需要使用邮箱的授权码,而不是登录密码
- 发送 HTML 内容时,content 需要以 '<' 开头,以 '>' 结尾
- 确保附件文件路径正确且文件存在
- 模块继承自 mm_expand.Base,可以使用 logger 方法记录日志
许可证
ISC License
