feat(cli): add smtp tools which help user positioning issue

pull/90/head
moonrailgun 2 years ago
parent 2d0a7eb0b8
commit e357d2e1c5

@ -1,6 +1,6 @@
{
"name": "tailchat-cli",
"version": "1.5.6",
"version": "1.5.7",
"description": "A Command line interface of tailchat",
"bin": {
"tailchat": "./bin/cli"
@ -51,6 +51,7 @@
"inquirer": "^8.2.2",
"lodash": "^4.17.21",
"node-plop": "^0.26.3",
"nodemailer": "^6.7.2",
"ora": "5.4.1",
"p-all": "2.1.0",
"p-series": "2.1.0",
@ -70,6 +71,7 @@
"@types/inquirer": "^8.2.1",
"@types/lodash": "^4.14.170",
"@types/node": "^18.13.0",
"@types/nodemailer": "^6.4.4",
"@types/react": "18.0.20",
"@types/spinnies": "^0.5.0",
"@types/update-notifier": "^6.0.1",

@ -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() {},
};

@ -1,9 +1,7 @@
import { CommandModule } from 'yargs';
import path from 'path';
import inquirer from 'inquirer';
import find from 'find-process';
import pidusage from 'pidusage';
import _ from 'lodash';
export const usageCommand: CommandModule = {
command: 'usage [pid]',

@ -8,6 +8,7 @@ import { benchCommand } from './commands/bench';
import { dockerCommand } from './commands/docker';
import { usageCommand } from './commands/usage';
import { registryCommand } from './commands/registry';
import { smtpCommand } from './commands/smtp';
yargs
.demandCommand()
@ -18,6 +19,7 @@ yargs
.command(declarationCommand)
.command(dockerCommand)
.command(registryCommand)
.command(smtpCommand)
.command(usageCommand)
.alias('h', 'help')
.scriptName('tailchat')

@ -152,6 +152,9 @@ importers:
node-plop:
specifier: ^0.26.3
version: 0.26.3
nodemailer:
specifier: ^6.7.2
version: 6.7.8
ora:
specifier: 5.4.1
version: 5.4.1
@ -204,6 +207,9 @@ importers:
'@types/node':
specifier: ^18.13.0
version: 18.15.12
'@types/nodemailer':
specifier: ^6.4.4
version: 6.4.5
'@types/react':
specifier: 18.0.20
version: 18.0.20
@ -550,7 +556,7 @@ importers:
version: 0.32.11
zustand:
specifier: ^4.3.6
version: 4.3.6(immer@9.0.15)(react@18.2.0)
version: 4.3.6(immer@9.0.21)(react@18.2.0)
devDependencies:
'@types/crc':
specifier: ^3.4.0
@ -1821,7 +1827,7 @@ importers:
version: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)
zustand:
specifier: ^4.3.6
version: 4.3.6(immer@9.0.15)(react@18.2.0)
version: 4.3.6(immer@9.0.21)(react@18.2.0)
server/plugins/com.msgbyte.getui:
dependencies:
@ -1999,7 +2005,7 @@ importers:
version: 5.3.6(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0)
zustand:
specifier: ^4.3.6
version: 4.3.6(immer@9.0.15)(react@18.2.0)
version: 4.3.6(immer@9.0.21)(react@18.2.0)
server/plugins/com.msgbyte.welcome:
dependencies:
@ -21910,10 +21916,10 @@ packages:
/immer@9.0.15:
resolution: {integrity: sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ==}
dev: false
/immer@9.0.21:
resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==}
dev: false
/import-fresh@2.0.0:
resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==}
@ -36813,6 +36819,7 @@ packages:
immer: 9.0.15
react: 18.2.0
use-sync-external-store: 1.2.0(react@18.2.0)
dev: false
/zustand@4.3.6(immer@9.0.21)(react@18.2.0):
resolution: {integrity: sha512-6J5zDxjxLE+yukC2XZWf/IyWVKnXT9b9HUv09VJ/bwGCpKNcaTqp7Ws28Xr8jnbvnZcdRaidztAPsXFBIqufiw==}
@ -36829,7 +36836,6 @@ packages:
immer: 9.0.21
react: 18.2.0
use-sync-external-store: 1.2.0(react@18.2.0)
dev: false
/zwitch@1.0.5:
resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==}

Loading…
Cancel
Save