Home Download FAQ / Knowledge Base Screenshots Documentation Support

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:

URL			Result
---			------
readnew			read new messages
readold			read old (already read messages) again
readfwd			read forward (all messages, old and new)
headers			just display the headers of all messages
do_search		search a string in the messages of this folder; display a list of the results.
display_enter		display 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
msgheaders		just show the Header parts of the message
mimepart		display a message; used like mimepart/MAIL:MIME:MSGNUM/MAIL:MIME:PARTNUM
			(the rest is ignored, so you might want to add MAIL:MIME:FILENAME)
mimepart_download	same as above, but will force the browser to download it.
postpart		Upload a mime attachment while creating an email
postpart_download	view 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 10000) messages in the actual mailbox; provides Mail-Context

Mail Context


These iterators require Mail-Context and provide Mime-Attachment context.

MAIL:MIME:ATTACH		Iterates over all mimeparts of this message
MAIL:MIME:ATTACH:SUBMESSAGES	Iterates over all sub-message mimeparts
MAIL:MIME:ATTACH:LINKS		Iterates over all attachments referenced from within the mail (inline images)
MAIL:MIME:ATTACH:ATT		Iterates over all downloadable attachments.
MSG:ATTACHNAMES			while 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 (in case it was moved later)
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:RFCA			does this message hava an SMTP email Recipient
COND:MAIL:SUMM:UNREAD			is this message yet been viewed by this
COND:MAIL:SUMM:H_NODE			does this message have another human-readable node name? (MAIL:SUMM:H_NODE nonempty)
COND:MAIL:ANON				is this an anonymous message?
COND:MAIL:MIME:ATTACH			does the MAIL:MIME:ATTACH Iterator containt values?
COND:MAIL:MIME:ATTACH:LINKS		does the MAIL:MIME:ATTACH:LINKS 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 (identical to MAIL:SUMM:N)
				to completely reference this attachment
MAIL:MIME:MSGNUM	int	message number this mimepart belongs to; identical to 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 careful, 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
There are no social media links here. Enjoy a friendly Citadel community instead. Or go outside.