Since LISTSERV 1.8e (13.0), it has been possible to delay execution of DISTRIBUTE jobs until a given time, by use of the JOB card keyword AFTER=.  However, this was not originally an option for regular postings to mailing lists.

When LISTSERV 16.0 was released in 2009, it became possible to schedule standard mailing list postings using an internal RFC822 mail header tag as follows:

X-LSVAfter: date time

This tag, like all other X-LSV tags inserted by LISTSERV, are deleted from the header before being sent to the recipient. The date and time parameters can be specified in any of the formats supported by LISTSERV, except those that contain white space. It is suggested that the format

yyyy-mm-dd hh:mm:ss

should be used. For example:

X-LSVAfter: 2019-11-26 13:41:00

Important: The value MUST NOT be enclosed in quotes or LISTSERV will not recognize it. Similarly, the value MUST NOT be a standard RFC822 date field.  A setting like

X-LSVAfter: Mon, 21 Oct 2019 12:00:00 -0400

is invalid, and will not be recognized.

When the scheduled posting time arrives, LISTSERV will substitute the current local server date and time for the value in the original RFC822 Date: field.

The simple message below utilizes X-LSVAfter to delay an early-morning post until noon:

Date: Mon, 21 Oct 2019 09:14:00 -0400
From: joe.user@example.com
To: lunch@listserv.example.com
Subject: Lunchtime!
X-LSVAfter: 2019-10-21 12:00:00

It's time for lunch!


Note: This feature requires either a mail client that is capable of adding ad-hoc RFC822 headers into messages, or the ability to construct RFC821/822 email messages manually and feed them directly to SMTP for delivery to LISTSERV.  

The complete RFC821 envelope for the above example would be something like

HELO
MAIL FROM:<joe.user@example.com>
RCPT TO:<lunch@listserv.example.com>
DATA
Date: Tue, 20 Oct 2009 09:14:00 -0400
From: joe.user@example.com
To: lunch@listserv.example.com
Subject: Lunchtime!
X-LSVAfter: 2009-10-20 12:00:00


It's time for lunch!

.

QUIT


The LISTSERV console log shows the following:

20 Aug 2019 09:12:37 Processing file 0077 from MAILER@LISTSERV.EXAMPLE.COM
20 Aug 2019 09:12:37 File 0077 suspended until 20 Oct 2009 12:00:00

(…)

20 Aug 2019 12:00:00 Processing file 0077 from MAILER@LISTSERV.EXAMPLE.COM
20 Aug 2019 12:00:00 Processing mail from joe.user@EXAMPLE.COM for LUNCH
20 Aug 2019 12:00:00 Rebuilding HTML page for LUNCH...
20 Aug 2019 12:00:01 Message DISTRIBUTEd to 125 recipients.


Note: If LISTSERV finds an X-LSVAfter: header in the message that either is blank or does not match any of the standard date/time formats understood by the server, then the following will appear and the message will be processed immediately:

20 Oct 2009 09:26:35 Processing file 0078 from MAILER@LISTSERV.EXAMPLE.COM
>>> Invalid date/time specification in X-LSVAfter: tag - ignored
20 Oct 2009 09:26:35 Processing mail from joe.user@example.com for LUNCH
20 Oct 2009 09:26:35 Message DISTRIBUTEd to 125 recipients.

Tip: For details on scheduling a delayed posting using the Message Posting Interface, see the List Owner’s Manual or the Site Manager’s Operations Manual.