blob: 85d86ec4ce48362a5986c619b1110ee78897a00a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
import { SESv2Client } from "@aws-sdk/client-sesv2";
import { AwsContext } from "../aws.ts";
import { MailDeliverer, MailDeliverContext } from "../deliver.ts";
export class AwsMailDeliverContext extends MailDeliverContext {
awsMessageId: string | null = null;
constructor(rawMail: string) {
super(rawMail);
}
}
class AwsMailDeliverer extends MailDeliverer<AwsMailDeliverContext> {
private _ses;
constructor(readonly aws: AwsContext) {
super("aws");
this._ses = new SESv2Client({ credentials: aws.awsCredentialsProvider });
}
protected override doPrepare(rawMail: string): Promise<AwsMailDeliverContext> {
return Promise.resolve(new AwsMailDeliverContext(rawMail))
}
protected override async doDeliver(context: AwsContext): Promise<void> {
}
}
|