Description of the custom MIME type "application/x-citadel-delivery-list" This MIME type may be found in the outbound queue room on Citadel systems, which is typically called "__CitadelSMTPspoolout__". The room is flagged as a "system" room, which means that it's completely hidden to everyone, although an Admin can get to it if the full name is specified (but unlike a normal hidden room, it does not appear in the known rooms list on subsequent visits). Messages in this format contain delivery instructions. Therefore, for each message in the queue to be delivered to one or more recipients, there will be *two* messages in the room: one containing the actual message, and the other containing delivery instructions. It is expected that the instructions message may be replaced at any time (using an Exclusive ID field) if delivery to only some of the recipients has been accomplished. Citadel keeps reference counts of each message on disk. Therefore if a message contains a mixture of local and remote recipients, there may be two or more references to the message itself, one of them being the one in the queue. A delivery list contains one or more lines of text, each line containing a single instruction (usually a recipient). Fields are separated by the vertical bar character ("|") and there will always be at least one field on each line. -- Once per Queue-Item -- INSTRUCTION: msgid SYNTAX: msgid|0000000 DESCRIPTION: Defines the actual message for which we are providing delivery instructions. This instruction must precede all the others. When all deliveries have either succeeded or failed, both the instructions and the copy of the message itself in the queue room should be deleted. The second parameter specifies the message ID in the local database. INSTRUCTION: submitted SYNTAX: submitted|999999999 DESCRIPTION: Contains a timestamp designating when this message was first entered into the system. INSTRUCTION: attempted SYNTAX: attempted|999999999 DESCRIPTION: Contains a timestamp designating the date/time of the last delivery attempt. INSTRUCTION: retry SYNTAX: retry|9999999 DESCRIPTION: Citadel does not retry SMTP delivery at a fixed interval. Instead, it starts at a nominal interval (15 minutes by default) and then doubles the interval after each failed attempt. This instruction contains the interval which should currently be followed (and doubled again, if the next delivery fails). INSTRUCTION: bounceto SYNTAX: bounceto|Big Bad Sender[@host] DESCRIPTION: Where to send "bounce" messages (delivery status notifications). The contents of the second field are supplied as the "recipient" field to CtdlSaveMsg(), and therefore may be a local username, a user on another Citadel, or an Internet e-mail address. INSTRUCTION: envelope_from SYNTAX: envelope_from|blurdybloop@example.com DESCRIPTION: Sets a value to be used as the envelope sender during the 'MAIL FROM:' phase of the SMTP transaction. If an envelope sender is not supplied, one is extracted from the message body. INSTRUCTION: source_room SYNTAX: source_room|Citadel Support DESCRIPTION: when sending mailinglist rooms this contains the source room for displaying and messaging purposes. -- Once per Remote-part per Queue-Item -- INSTRUCTION: remote SYNTAX: remote|friko@mumjiboolean.com|0|delivery status message DESCRIPTION: Names a recipient on a remote system to which the message should be delivered. The third parameter may contain any of the following values: 0 = No delivery has yet been attempted 2 = Delivery was successful 3 = transient error state; like connection failure or DNS lookup failure 4 = A transient error was experienced ... try again later 5 = Delivery to this address failed permanently. The error message should be placed in the fourth field so that a bounce message may be generated.