From 8930bb11fce19c773201b4f499d99c1c3c28efa6 Mon Sep 17 00:00:00 2001 From: Yuqian Yang Date: Wed, 30 Apr 2025 00:20:23 +0800 Subject: HALF WORK!: 2025-5-14 2 --- services/docker/mail-server/aws-sendmail/mail.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'services/docker/mail-server/aws-sendmail/mail.ts') diff --git a/services/docker/mail-server/aws-sendmail/mail.ts b/services/docker/mail-server/aws-sendmail/mail.ts index 98afcaa..b974e49 100644 --- a/services/docker/mail-server/aws-sendmail/mail.ts +++ b/services/docker/mail-server/aws-sendmail/mail.ts @@ -163,14 +163,21 @@ export class Mail { return headers; } - simpleGetDate(): Date | null { + /** + * Find the Date header and parse it to date. + * @param invalidToNull Whether to convert invalid date to null. Default is false. + * @returns Parsed date (may be an invalid date if `invalidToNull` us false). + * `null` if the date header is missing or parsing fails and `invalidToNull` + * is true. + */ + simpleGetDate(invalidValue: T | null = null): Date | T | null { const headers = this.simpleParseHeaders(); for (const [key, value] of headers) { if (key.toLowerCase() === "date") { const date = new Date(value); if (isNaN(date.getTime())) { getLogger().warn(`Invalid date string (${value}) found in header.`); - return null; + return invalidValue; } return date; } -- cgit v1.2.3