diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-06-30 14:25:02 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-06-30 14:25:02 +0800 |
commit | 5f00fdd06fa51bb0c82928e060d3f8811bc171e9 (patch) | |
tree | 4aaf446eeb120ccf62bbbd2696d576a3235c7f4f /deno/mail-relay/aws/deliver.ts | |
parent | 7178983a5b8a27d5f0f5b447528f0e23b50d75c1 (diff) | |
download | crupest-5f00fdd06fa51bb0c82928e060d3f8811bc171e9.tar.gz crupest-5f00fdd06fa51bb0c82928e060d3f8811bc171e9.tar.bz2 crupest-5f00fdd06fa51bb0c82928e060d3f8811bc171e9.zip |
mail: revert removing.
Diffstat (limited to 'deno/mail-relay/aws/deliver.ts')
-rw-r--r-- | deno/mail-relay/aws/deliver.ts | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/deno/mail-relay/aws/deliver.ts b/deno/mail-relay/aws/deliver.ts deleted file mode 100644 index 0195369..0000000 --- a/deno/mail-relay/aws/deliver.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { - SendEmailCommand, - SESv2Client, - SESv2ClientConfig, -} from "@aws-sdk/client-sesv2"; - -import { Mail, MailDeliverContext, MailDeliverer } from "../mail.ts"; - -declare module "../mail.ts" { - interface MailDeliverResult { - awsMessageId?: string; - } -} - -export class AwsMailDeliverer extends MailDeliverer { - readonly name = "aws"; - readonly #aws; - readonly #ses; - - constructor(aws: SESv2ClientConfig) { - super(true); - this.#aws = aws; - this.#ses = new SESv2Client(aws); - } - - protected override async doDeliver( - mail: Mail, - context: MailDeliverContext, - ): Promise<void> { - try { - const sendCommand = new SendEmailCommand({ - Content: { - Raw: { Data: mail.toUtf8Bytes() }, - }, - }); - - console.info(context.logTag, "Calling aws send-email api..."); - const res = await this.#ses.send(sendCommand); - if (res.MessageId == null) { - console.warn( - context.logTag, - "AWS send-email returned null message id.", - ); - } else { - context.result.awsMessageId = - `${res.MessageId}@${this.#aws.region}.amazonses.com`; - } - - context.result.smtpMessage = - `AWS Message ID: ${context.result.awsMessageId}`; - context.result.recipients.set("*", { - kind: "success", - message: `Succeeded to call aws send-email api.`, - }); - } catch (cause) { - context.result.recipients.set("*", { - kind: "failure", - message: "A JS error was thrown when calling aws send-email." + cause, - cause, - }); - } - } -} |