aboutsummaryrefslogtreecommitdiff
path: root/services/docker/mail-server/aws-sendmail/mail.ts
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-04-30 00:20:23 +0800
committerYuqian Yang <crupest@crupest.life>2025-05-14 17:14:29 +0800
commit8930bb11fce19c773201b4f499d99c1c3c28efa6 (patch)
tree5ad13f3fc5fc7c6bd914aad39e0ffc824cc0d612 /services/docker/mail-server/aws-sendmail/mail.ts
parent8ba08870fdb3bafa7b8739c4f1c57a70b8780143 (diff)
downloadcrupest-8930bb11fce19c773201b4f499d99c1c3c28efa6.tar.gz
crupest-8930bb11fce19c773201b4f499d99c1c3c28efa6.tar.bz2
crupest-8930bb11fce19c773201b4f499d99c1c3c28efa6.zip
HALF WORK!: 2025-5-14 2
Diffstat (limited to 'services/docker/mail-server/aws-sendmail/mail.ts')
-rw-r--r--services/docker/mail-server/aws-sendmail/mail.ts11
1 files changed, 9 insertions, 2 deletions
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<T = null>(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;
}