midway-email
v1.0.2
Published
A Midway component wrapping nodemailer for convenient email sending
Maintainers
Readme
midway-email
基于 nodemailer 封装的 Midway 邮件组件,提供便捷的邮件发送能力。
安装
npm install midway-email nodemailer --save引入组件
// src/configuration.ts
import { Configuration } from '@midwayjs/core';
import * as email from 'midway-email';
@Configuration({
imports: [email],
})
export class MainConfiguration {}配置
在 src/config/config.default.ts 中配置 SMTP 参数:
export const email = {
host: 'smtp.example.com',
port: 465,
secure: true,
auth: {
user: '[email protected]',
pass: 'your-password',
},
from: '"Sender" <[email protected]>',
};配置说明
| 属性 | 类型 | 默认值 | 描述 |
| -------- | --------- | ----------- | ------------- |
| host | string | localhost | SMTP 服务器 |
| port | number | 25 | SMTP 端口 |
| secure | boolean | false | 是否使用 SSL |
| auth | object | - | 认证信息 |
| auth.user | string | - | 用户名 |
| auth.pass | string | - | 密码 |
| from | string | '' | 默认发件人 |
更多配置项参考 nodemailer SMTPTransport.Options。
使用
import { Provide, Inject } from '@midwayjs/core';
import { EmailService } from 'midway-email';
@Provide()
export class UserService {
@Inject()
emailService: EmailService;
async sendWelcome() {
await this.emailService.send({
to: '[email protected]',
subject: 'Welcome!',
text: 'Hello from Midway',
html: '<h1>Hello from Midway</h1>',
});
}
}API
send(mailOptions)
发送邮件。mailOptions 类型为 nodemailer.SendMailOptions。
await emailService.send({
to: '[email protected]',
cc: '[email protected]',
bcc: '[email protected]',
subject: 'Subject',
text: 'Plain text body',
html: '<p>HTML body</p>',
attachments: [
{ filename: 'file.txt', content: 'attachment content' },
],
});verify()
验证 SMTP 连接配置。
const ok = await emailService.verify();License
MIT
