This commit is contained in:
2025-05-21 00:12:49 +00:00
parent 5c85188183
commit b1890f59ee
27 changed files with 2096 additions and 705 deletions

View File

@ -1,5 +1,5 @@
import * as plugins from '../../plugins.js';
import type { MtaService } from './classes.mta.js';
import type { UnifiedEmailServer } from '../routing/classes.unified.email.server.js';
interface Headers {
[key: string]: string;
@ -13,19 +13,17 @@ interface IEmailSignJobOptions {
}
export class EmailSignJob {
mtaRef: MtaService;
emailServerRef: UnifiedEmailServer;
jobOptions: IEmailSignJobOptions;
constructor(mtaRefArg: MtaService, options: IEmailSignJobOptions) {
this.mtaRef = mtaRefArg;
constructor(emailServerRef: UnifiedEmailServer, options: IEmailSignJobOptions) {
this.emailServerRef = emailServerRef;
this.jobOptions = options;
}
async loadPrivateKey(): Promise<string> {
return plugins.fs.promises.readFile(
(await this.mtaRef.dkimCreator.getKeyPathsForDomain(this.jobOptions.domain)).privateKeyPath,
'utf-8'
);
const keyInfo = await this.emailServerRef.dkimCreator.readDKIMKeys(this.jobOptions.domain);
return keyInfo.privateKey;
}
public async getSignatureHeader(emailMessage: string): Promise<string> {