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 | f1bd9a925804e9f9effe1b180f3d4ab890cf6757 (patch) | |
tree | 0ddb044b64f54942a22d0f8a18179f3578247601 /services/docker/mail-server/relay/aws/deliver.ts | |
parent | 2f6809e0de0fff00a77d2baddb57ac7b947e8566 (diff) | |
download | crupest-f1bd9a925804e9f9effe1b180f3d4ab890cf6757.tar.gz crupest-f1bd9a925804e9f9effe1b180f3d4ab890cf6757.tar.bz2 crupest-f1bd9a925804e9f9effe1b180f3d4ab890cf6757.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); - } -} |