aboutsummaryrefslogtreecommitdiff
path: root/services/docker/mail-server/relay/dovecot.ts
diff options
context:
space:
mode:
Diffstat (limited to 'services/docker/mail-server/relay/dovecot.ts')
-rw-r--r--services/docker/mail-server/relay/dovecot.ts34
1 files changed, 17 insertions, 17 deletions
diff --git a/services/docker/mail-server/relay/dovecot.ts b/services/docker/mail-server/relay/dovecot.ts
index bb96e7b..4971943 100644
--- a/services/docker/mail-server/relay/dovecot.ts
+++ b/services/docker/mail-server/relay/dovecot.ts
@@ -1,13 +1,13 @@
import { basename } from "@std/path";
-import { getConfigValue } from "./config.ts";
-import logger, { log } from "./logger.ts";
+import config from "./config.ts";
+import log from "./log.ts";
import {
Mail,
MailDeliverContext,
MailDeliverer,
- MailDeliverReceiptResult,
- ReceiptsFromHeadersHook,
+ MailDeliverRecipientResult,
+ RecipientFromHeadersHook,
} from "./mail.ts";
export class DovecotMailDeliverer extends MailDeliverer {
@@ -16,7 +16,7 @@ export class DovecotMailDeliverer extends MailDeliverer {
constructor() {
super();
this.preHooks.push(
- new ReceiptsFromHeadersHook(),
+ new RecipientFromHeadersHook(),
);
}
@@ -24,35 +24,35 @@ export class DovecotMailDeliverer extends MailDeliverer {
mail: Mail,
context: MailDeliverContext,
): Promise<void> {
- const ldaPath = getConfigValue("ldaPath");
+ const ldaPath = config.get("ldaPath");
const ldaBinName = basename(ldaPath);
const utf8Stream = mail.toUtf8Bytes();
- const receipts = [...context.receipts];
- if (receipts.length === 0) {
- throw new Error("No receipts found.");
+ const recipients = [...context.recipients];
+ if (recipients.length === 0) {
+ throw new Error("No recipients found.");
}
- log(`Deliver to ${receipts.join(", ")}.`);
+ log.info(`Deliver to ${recipients.join(", ")}.`);
- for (const receipt of receipts) {
- log(`Call ${ldaBinName} for ${receipt}...`);
+ for (const recipient of recipients) {
+ log.info(`Call ${ldaBinName} for ${recipient}...`);
- const result: MailDeliverReceiptResult = {
+ const result: MailDeliverRecipientResult = {
kind: "done",
message: `${ldaBinName} exited with success.`,
};
try {
const ldaCommand = new Deno.Command(ldaPath, {
- args: ["-d", receipt],
+ args: ["-d", recipient],
stdin: "piped",
stdout: "piped",
stderr: "piped",
});
const ldaProcess = ldaCommand.spawn();
- using logFiles = await logger.openLogForProgram(ldaBinName);
+ using logFiles = await log.openLogForProgram(ldaBinName);
ldaProcess.stdout.pipeTo(logFiles.stdout.writable);
ldaProcess.stderr.pipeTo(logFiles.stderr.writable);
@@ -74,7 +74,7 @@ export class DovecotMailDeliverer extends MailDeliverer {
// https://doc.dovecot.org/main/core/man/dovecot-lda.1.html
switch (status.code) {
case 67:
- result.message += ", receipt user not known";
+ result.message += ", recipient user not known";
break;
case 75:
result.kind = "retry";
@@ -88,7 +88,7 @@ export class DovecotMailDeliverer extends MailDeliverer {
result.message = "An error was thrown when running lda process: " + e;
result.cause = e;
}
- context.result.set(receipt, result);
+ context.result.recipients.set(recipient, result);
}
}
}