mirror of https://github.com/msgbyte/tailchat
feat(cli): add smtp tools which help user positioning issue
parent
2d0a7eb0b8
commit
e357d2e1c5
@ -0,0 +1,44 @@
|
||||
import { CommandModule } from 'yargs';
|
||||
import { config } from 'dotenv';
|
||||
import inquirer from 'inquirer';
|
||||
import nodemailer from 'nodemailer';
|
||||
import { parseConnectionUrl } from 'nodemailer/lib/shared';
|
||||
|
||||
export const smtpCommand: CommandModule = {
|
||||
command: 'smtp',
|
||||
describe: 'SMTP Service',
|
||||
builder: (yargs) =>
|
||||
yargs
|
||||
.command(
|
||||
'verify',
|
||||
'Verify smtp sender service',
|
||||
(yargs) => {},
|
||||
async (args) => {
|
||||
config(); // 加载环境变量
|
||||
|
||||
const { uri } = await inquirer.prompt([
|
||||
{
|
||||
type: 'input',
|
||||
name: 'uri',
|
||||
message: 'SMTP_URI',
|
||||
default: process.env.SMTP_URI,
|
||||
validate: (input) =>
|
||||
typeof input === 'string' && input.length > 0,
|
||||
},
|
||||
]);
|
||||
|
||||
const transporter = nodemailer.createTransport(
|
||||
parseConnectionUrl(uri)
|
||||
);
|
||||
|
||||
try {
|
||||
const verify = await transporter.verify();
|
||||
console.log('Verify Result:', verify);
|
||||
} catch (err) {
|
||||
console.log('Verify Failed:', String(err));
|
||||
}
|
||||
}
|
||||
)
|
||||
.demandCommand(),
|
||||
handler() {},
|
||||
};
|
Loading…
Reference in New Issue