diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-04-10 15:12:46 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-06-05 21:07:37 +0800 |
commit | 458e447a45d9c5426e4f0f210ef61977530731a4 (patch) | |
tree | 3ae22ef0c2b87aa1c99862ac4824081b375e2c20 /services/docker/mail-server/relay/aws/deliver.ts | |
parent | a3e7ec7aea6bcedec0b772862db6ccc6faaa3481 (diff) | |
download | crupest-458e447a45d9c5426e4f0f210ef61977530731a4.tar.gz crupest-458e447a45d9c5426e4f0f210ef61977530731a4.tar.bz2 crupest-458e447a45d9c5426e4f0f210ef61977530731a4.zip |
feat(mail-server): done aws message id mapping.
Diffstat (limited to 'services/docker/mail-server/relay/aws/deliver.ts')
-rw-r--r-- | services/docker/mail-server/relay/aws/deliver.ts | 52 |
1 files changed, 0 insertions, 52 deletions
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<void> { - 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); - } -} |