+
+
+
+
+
+
+
+ This mail is a bounce email
+
+
+ This mail is NOT a bounce email
+
+
+ {{ parsedBounce.parsingError }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/tools/bounce-parser/email-bounce-parser-browser.d.ts b/src/tools/bounce-parser/email-bounce-parser-browser.d.ts
new file mode 100644
index 00000000..2d91fd12
--- /dev/null
+++ b/src/tools/bounce-parser/email-bounce-parser-browser.d.ts
@@ -0,0 +1,18 @@
+declare module "email-bounce-parser-browser" {
+ export default class EmailBounceParse {
+ read(emailContent: string): {
+ bounce: boolean
+ recipient?: string
+ data: any
+ command: string
+ server?: {
+ hostname: string
+ ip: string
+ port: string
+ }
+ email?: {
+ error?: string
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/tools/bounce-parser/index.ts b/src/tools/bounce-parser/index.ts
new file mode 100644
index 00000000..7822c349
--- /dev/null
+++ b/src/tools/bounce-parser/index.ts
@@ -0,0 +1,12 @@
+import { Mailbox } from '@vicons/tabler';
+import { defineTool } from '../tool';
+
+export const tool = defineTool({
+ name: 'Bounce Email Parser',
+ path: '/bounce-parser',
+ description: 'Parse SMTP Bounce Emails',
+ keywords: ['bounce', 'email', 'smtp', 'parser'],
+ component: () => import('./bounce-parser.vue'),
+ icon: Mailbox,
+ createdAt: new Date('2024-08-15'),
+});
diff --git a/src/tools/index.ts b/src/tools/index.ts
index 388cfaf4..f3916768 100644
--- a/src/tools/index.ts
+++ b/src/tools/index.ts
@@ -2,6 +2,7 @@ import { tool as base64FileConverter } from './base64-file-converter';
import { tool as base64StringConverter } from './base64-string-converter';
import { tool as basicAuthGenerator } from './basic-auth-generator';
import { tool as emailNormalizer } from './email-normalizer';
+import { tool as bounceParser } from './bounce-parser';
import { tool as asciiTextDrawer } from './ascii-text-drawer';
@@ -137,6 +138,7 @@ export const toolsByCategory: ToolCategory[] = [
httpStatusCodes,
jsonDiff,
safelinkDecoder,
+ bounceParser,
],
},
{
diff --git a/vite.config.ts b/vite.config.ts
index 42a2cb29..87a35f7c 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -113,4 +113,7 @@ export default defineConfig({
build: {
target: 'esnext',
},
+ optimizeDeps: {
+ include: ['re2-wasm-embedded'], // optionally specify dependency name
+ },
});