diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-04-30 00:20:23 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-04-30 00:20:54 +0800 |
commit | 84148346e29547cfba92dd697be9bbf31a23a926 (patch) | |
tree | 6750ed1d0ee974cc6144afcc294fd3bdc03defa1 /services/docker/mail-server/aws-sendmail/main.ts | |
parent | 6aeff979ada4a1775bddb87a0ccad354faaa8093 (diff) | |
download | crupest-84148346e29547cfba92dd697be9bbf31a23a926.tar.gz crupest-84148346e29547cfba92dd697be9bbf31a23a926.tar.bz2 crupest-84148346e29547cfba92dd697be9bbf31a23a926.zip |
HALF WORK!: 2025-4-30
Diffstat (limited to 'services/docker/mail-server/aws-sendmail/main.ts')
-rw-r--r-- | services/docker/mail-server/aws-sendmail/main.ts | 32 |
1 files changed, 5 insertions, 27 deletions
diff --git a/services/docker/mail-server/aws-sendmail/main.ts b/services/docker/mail-server/aws-sendmail/main.ts index 3a73a6f..98e364e 100644 --- a/services/docker/mail-server/aws-sendmail/main.ts +++ b/services/docker/mail-server/aws-sendmail/main.ts @@ -1,5 +1,6 @@ +import { AwsContext } from "./aws.ts"; import { MailTrafficDeliverer } from "./delivers/traffic.ts"; -import { Logger } from "./logger.ts"; +import { Logger, setLogger } from "./logger.ts"; class BugError extends Error { } @@ -7,35 +8,12 @@ class BugError extends Error { function warn(message: string) { } -class MailProcessor { - appendHeaders( - rawMail: string, - headers: [key: string, value: string][], - ): string { - const separatorMatch = rawMail.match(/(\r\n|\n)(\r\n|\n)/); - if (separatorMatch == null) { - throw new Error( - "No header/body separator (2 successive EOLs) found. Cannot append headers.", - ); - } - - if (separatorMatch[1] !== separatorMatch[2]) { - warn("Different EOLs (\\r\\n and \\n) found in mail!"); - } - - const headerStr = headers.map(([k, v]) => `${k}: ${v}${separatorMatch[1]}`) - .join(""); - const endOfHeadersIndex = separatorMatch.index! + separatorMatch[1].length; - return rawMail.slice(0, endOfHeadersIndex) + headerStr + - rawMail.slice(endOfHeadersIndex); - } -} - class App { - readonly logger = new Logger("log"); - readonly mailTrafficDeliverer = new MailTrafficDeliverer(this.logger); + readonly aws = new AwsContext(); + readonly mailTrafficDeliverer = new MailTrafficDeliverer(this.aws); constructor() { + setLogger(new Logger("log")); } } |