diff --git a/changelog.md b/changelog.md index 4b28418..2d410ac 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,12 @@ # 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) Add CI, release and npm-publish automation; introduce release template and local settings diff --git a/deno.json b/deno.json index aa6f2cd..eb5de38 100644 --- a/deno.json +++ b/deno.json @@ -42,6 +42,8 @@ "@std/assert": "jsr:@std/assert@^1.0.0", "@apiclient.xyz/cloudflare": "npm:@apiclient.xyz/cloudflare@latest", "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" } } diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 4d469cc..0a7ca44 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { 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' } diff --git a/ts/mail/delivery/placeholder.ts b/ts/mail/delivery/placeholder.ts new file mode 100644 index 0000000..61d0529 --- /dev/null +++ b/ts/mail/delivery/placeholder.ts @@ -0,0 +1,8 @@ +/** + * Placeholder delivery implementation + * This will be replaced with actual delivery logic + */ + +export class DeliveryPlaceholder { + // Placeholder for delivery functionality +} diff --git a/ts/plugins.ts b/ts/plugins.ts index 04d6a7b..98f3742 100644 --- a/ts/plugins.ts +++ b/ts/plugins.ts @@ -14,6 +14,13 @@ export * as crypto from '@std/crypto'; import * as cloudflareImport from '@apiclient.xyz/cloudflare'; 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 // We import these as npm: specifiers for Node.js modules that don't have Deno equivalents import { EventEmitter } from 'node:events'; diff --git a/ts/security/classes.ipreputationchecker.ts b/ts/security/classes.ipreputationchecker.ts new file mode 100644 index 0000000..3154fe9 --- /dev/null +++ b/ts/security/classes.ipreputationchecker.ts @@ -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 { + // Placeholder implementation + return { + ip, + score: 100, + isBlacklisted: false, + sources: [], + }; + } +}