diff options
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")); } } |