From f1bd9a925804e9f9effe1b180f3d4ab890cf6757 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Thu, 10 Apr 2025 15:12:46 +0800 Subject: feat(mail-server): done aws message id mapping. --- services/docker/mail-server/relay/aws/deliver.ts | 52 ------------------------ 1 file changed, 52 deletions(-) delete mode 100644 services/docker/mail-server/relay/aws/deliver.ts (limited to 'services/docker/mail-server/relay/aws/deliver.ts') diff --git a/services/docker/mail-server/relay/aws/deliver.ts b/services/docker/mail-server/relay/aws/deliver.ts deleted file mode 100644 index 9c62496..0000000 --- a/services/docker/mail-server/relay/aws/deliver.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { SendEmailCommand, SESv2Client } from "@aws-sdk/client-sesv2"; - -import { AwsContext } from "./context.ts"; -import { - Mail, - MailDeliverContext, - MailDeliverer, - MailDeliverRecipientResult, -} from "./mail.ts"; -import log from "../log.ts"; - -export class AwsMailDeliverer extends MailDeliverer { - readonly name = "aws"; - readonly #ses; - - constructor(aws: AwsContext) { - super(); - this.#ses = new SESv2Client(aws); - } - - protected override async doDeliver( - mail: Mail, - context: MailDeliverContext, - ): Promise { - log.info("Begin to call aws send-email api..."); - - const result: MailDeliverRecipientResult = { - kind: "done", - message: "Success to call send-email api of aws.", - }; - - try { - const sendCommand = new SendEmailCommand({ - Content: { - Raw: { Data: mail.toUtf8Bytes() }, - }, - }); - - const res = await this.#ses.send(sendCommand); - if (res.MessageId == null) { - log.warn("Aws send-email returns no message id."); - } - mail.awsMessageId = res.MessageId; - } catch (cause) { - result.kind = "fail"; - result.message = "An error was thrown when calling aws send-email." + - cause; - result.cause = cause; - } - context.result.set("*", result); - } -} -- cgit v1.2.3