Home Download News FAQ / Knowledge Base Screenshots Documentation Support
philosophical imaginary

Message templating

Since message templating is a bit more complicated, These tokens aren't available from global context. The following calls might lead you there:

readnewread new messages
readoldread old (already read messages) again
readfwdreadforward; used for reading the next messages?
headersTODO?? just display the headers of all messages?
do_searchsearch a string in the messages of this folder; display a list of the results.
display_enterdisplay the message editor (probably with a forwarded / replied message already preloaded)
post Post a message; display the room content you're in afterwards
msg Display one message; you may specify your own template using the template paramenter
printmsg Opens a message for printing
mobilemsg Opens a message for viewing on mobile devices
msgheaders just show the Header parts of the message
mimepart display a message; used like mimepart/MAIL:MIME:MSGNUM/MAIL:MIME:PARTNUM[rest ignored, so you might want to add MAIL:MIME:FILENAME]
mimepart_downloadsame as above, but will force the browser to download it.
postpartUpload a mime attachment while creating an email
postpart_downloadview an uploaded mimepart again (for example inline images


Most of these tokens wrap parts of RFC 822 and so on SMTP Mime messages.

MAIL:SUMM:MSGS iterates over all (up to 10k) messages in the actual mailbox; provides Mail-Context

Mail Context


These Iterators require Mail-Context; and provide Mime Attachment context.

MAIL:MIME:ATTACHIterates over all mimeparts of this message
MAIL:MIME:ATTACH:SUBMESSAGESIterates over all sub-message mimeparts
MAIL:MIME:ATTACH:LINKSIterates over all attachments referenced from within the mail (inline images)
MAIL:MIME:ATTACH:ATTIterates over all downloadable attachments.
MSG:ATTACHNAMESwhile composing a message, this holds the list of to be sent attachments.


These tokens require Mail-Context. They're used to display / reference one message.

Token Type Value
MAIL:SUMM:DATESTR String Creation date of the message as formated string
MAIL:SUMM:DATENO int Creation date of the message as integer representation
MAIL:SUMM:N int Citadel reference ID of this message
MAIL:SUMM:FROM String Sender of an Email
MAIL:SUMM:TO String Recipient of an email
MAIL:SUMM:SUBJECT String Subject of an email
MAIL:SUMM:NTATACH int Numer of attachments on a message (still TODO for the summary)
MAIL:SUMM:CCCC String Recipients in the CC header
MAIL:SUMM:H_NODE String HumanNode; host this message was posted at
MAIL:SUMM:ALLRCPT String list of all recipients of this message
MAIL:SUMM:ORGROOM String the original room this message was posted in (if for example moved, or remote sent in via inter Citadel networking)
MAIL:SUMM:RFCA String SMTP Address of this message if sent in via SMTP
MAIL:SUMM:OTHERNODE String if not posted localy, and received via inter citadel networking the original node
MAIL:SUMM:REFIDS String Message IDS this message originaly had (For threadded replying etc.)
MAIL:SUMM:INREPLYTO String Message IDS of the direct ancestor to add to message when replying to it
MAIL:BODY String The message body. whatever you put in it; the message content.
MAIL:QUOTETEXT String Use this token, if you want to read a message into the editor for replying to it.


These conditionals provide information whether the referenced token / iterator is there. So if you want to hide decoration around one of the above tokens, use these:

COND:MAIL:SUMM:RFCAdoes this message hava an SMTP email Recipient
COND:MAIL:SUMM:UNREADis this message yet beev viewed by this
COND:MAIL:SUMM:H_NODEdoes this message have another Humannode (MAIL:SUMM:H_NODE nonempty..)
COND:MAIL:SUMM:OTHERNODEwas this message sent from another node? (MAIL:SUMM:OTHERNODE nonempty..)
COND:MAIL:ANONis this an anonymous message?
COND:MAIL:MIME:ATTACH does the MAIL:MIME:ATTACH Iterator containt values?
COND:MAIL:MIME:ATTACH:ATT does the MAIL:MIME:ATTACH:ATT Iterator containt values?

Mime Attachment Context


Mime attachments are available while viewing a message or while composing a new one. If a message is used to contruct a new one (Forward/Reply) LOADDATA can be used to move parts over.

MAIL:MIME:NAME String the name of this attachment
MAIL:MIME:FILENAME String the filename of this attachment
MAIL:MIME:PARTNUM String the message partnum; combine with MAIL:MIME:MSGNUM (faximile of MAIL:SUMM:N) to completely reference this attachment
MAIL:MIME:MSGNUM int Messagenumber this mimepart belongs to; faximile of MAIL:MIME:MSGNUM so its available in this context
MAIL:MIME:DISPOSITION String which type of content distribution is it? inline/…
MAIL:MIME:CONTENTTYPE String whats the MIME-Type of this attachment
MAIL:MIME:CHARSET String if text; whats the character encoding of this attachment
MAIL:MIME:LENGTH int whats the size of this attachment
MAIL:MIME:DATA String the payload of this mime container, be carefull, might be a binary blob.
MAIL:MIME:LOADDATA none load this mime containter into the message editors context; purges it from the original message; will be visible in the MSG:ATTACHNAMES iterator
Copyright © 1987-2020 Uncensored Communications Group. All rights reserved.     Login (site admin)