feat(plugins): Add smartmail, mailauth and uuid to Deno dependencies and export them from plugins; include local dev permissions file

This commit is contained in:
2025-10-24 08:19:56 +00:00
parent d6a1cf5bf4
commit 269bafc1bf
6 changed files with 49 additions and 2 deletions

View File

@@ -1,5 +1,12 @@
# Changelog # Changelog
## 2025-10-24 - 1.2.0 - feat(plugins)
Add smartmail, mailauth and uuid to Deno dependencies and export them from plugins; include local dev permissions file
- Add @push.rocks/smartmail, mailauth and uuid to deno.json dependencies so email parsing, DKIM and UUID utilities are available.
- Export smartmail, mailauth and uuid from ts/plugins.ts for centralized access across the codebase.
- Add .claude/settings.local.json to define local development permissions (tooling/dev environment configuration).
## 2025-10-24 - 1.1.0 - feat(ci) ## 2025-10-24 - 1.1.0 - feat(ci)
Add CI, release and npm-publish automation; introduce release template and local settings Add CI, release and npm-publish automation; introduce release template and local settings

View File

@@ -42,6 +42,8 @@
"@std/assert": "jsr:@std/assert@^1.0.0", "@std/assert": "jsr:@std/assert@^1.0.0",
"@apiclient.xyz/cloudflare": "npm:@apiclient.xyz/cloudflare@latest", "@apiclient.xyz/cloudflare": "npm:@apiclient.xyz/cloudflare@latest",
"lru-cache": "npm:lru-cache@^11.0.0", "lru-cache": "npm:lru-cache@^11.0.0",
"mailaddress-validator": "npm:mailaddress-validator@^1.0.11" "@push.rocks/smartmail": "npm:@push.rocks/smartmail@^2.0.0",
"mailauth": "npm:mailauth@^4.0.0",
"uuid": "npm:uuid@^9.0.0"
} }
} }

View File

@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@serve.zone/mailer', name: '@serve.zone/mailer',
version: '1.1.0', version: '1.2.0',
description: 'Enterprise mail server with SMTP, HTTP API, and DNS management - built for serve.zone infrastructure' description: 'Enterprise mail server with SMTP, HTTP API, and DNS management - built for serve.zone infrastructure'
} }

View File

@@ -0,0 +1,8 @@
/**
* Placeholder delivery implementation
* This will be replaced with actual delivery logic
*/
export class DeliveryPlaceholder {
// Placeholder for delivery functionality
}

View File

@@ -14,6 +14,13 @@ export * as crypto from '@std/crypto';
import * as cloudflareImport from '@apiclient.xyz/cloudflare'; import * as cloudflareImport from '@apiclient.xyz/cloudflare';
export const cloudflare = cloudflareImport; export const cloudflare = cloudflareImport;
// Email libraries
import * as smartmail from '@push.rocks/smartmail';
import * as mailauth from 'mailauth';
import * as uuid from 'uuid';
export { smartmail, mailauth, uuid };
// Node.js compatibility - needed for SMTP and email processing // Node.js compatibility - needed for SMTP and email processing
// We import these as npm: specifiers for Node.js modules that don't have Deno equivalents // We import these as npm: specifiers for Node.js modules that don't have Deno equivalents
import { EventEmitter } from 'node:events'; import { EventEmitter } from 'node:events';

View File

@@ -0,0 +1,23 @@
/**
* IP Reputation Checker
* Checks IP addresses against reputation databases
*/
export interface IIpReputationResult {
ip: string;
score: number;
isBlacklisted: boolean;
sources: string[];
}
export class IpReputationChecker {
public async checkReputation(ip: string): Promise<IIpReputationResult> {
// Placeholder implementation
return {
ip,
score: 100,
isBlacklisted: false,
sources: [],
};
}
}