aboutsummaryrefslogtreecommitdiff
path: root/services/docker/mail-server/aws-sendmail/mail.ts
diff options
context:
space:
mode:
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;
}