Messages
Website reading edition · D1–D3 accepted source, schema 37. The older 0.1.0 binary download predates this work. Current status · Start here.
Configure conferences
Stop the board and choose section 5 in spitfire config. Conference changes
are immediate. Conference 1 is mandatory because Comment to Sysop uses it.
A new board has General and SPITFIRE conferences but no starter message. The first practical operator task is to log in as the Sysop caller and post an All Callers welcome message.
Message menu
Enter Main M:
| Command | Current behavior |
|---|---|
C |
List accessible conferences and unread counts; change conference. |
R |
Read This, All, or Only Queued conferences; select N for new messages across permitted conferences. |
B |
Browse visible message headers. |
E |
Enter a public or private local message. |
Y |
Show received/sent/available counts and open received/sent lists. |
A |
Add, remove, list, or reset the caller's conference queue. |
F |
Move directly to Files. |
Q |
Return to Main. |
G |
Log off. |
X |
Toggle session-local expert mode. |
? |
Contextual help. |
Commands are filtered by caller security and the supplied SFMSG.MNU.
Post a message
- Select
E. - Enter a known local Handle, or press Enter for All Callers. Login is used for authentication, not recipient selection.
- For a named recipient, optionally enter up to nine distinct carbon-copy
callers; press Enter at the next
Carbon copy #N:prompt to finish. - Choose public or non-public/private when the conference permits it.
- Enter a subject.
- Type one line at a time.
- Enter a blank line to open the editor command menu.
- Select
S, then confirm withY.
Primary and CC recipients receive separate conference-local message numbers with independent receipt and deletion state. Self, duplicate, nonexistent, inactive, and destination-not-queued recipients are rejected without losing earlier accepted CC entries. The entire fan-out saves atomically.
The line editor supports Save, Edit, Abort, Continue, Begin Again, Replace
Line, List, Insert Line, and Delete Line(s). /S and /A are direct save and
abort equivalents. A disconnect or abort before confirmed save leaves no
partial message.
A non-public message is visible only to its author, intended recipient, or a currently authorized Sysop. The author identity always comes from the logged- in caller.
Read and reply
R opens the conference scan menu:
- This Message Conference scans the current conference;
- All Message Conferences scans every accessible conference; and
- Only Queued Conferences scans Conference 1 plus the caller's selected optional conferences.
The reader supports next, previous, direct message number, reply, linked-reply thread traversal, and quit. An eligible ordinary caller also sees D
for a delivery they sent or directly/CC received when conference policy allows
caller deletion. Threshold Sysop status sees D, P, and C on active
deliveries; a deleted delivery instead exposes contextual U. A reply may
retain or change the subject.
CTRL-Q in reply composition reviews the original and imports a bounded line
range with sender-initial prefixes; imported quote lines are immutable.
Only fully displayed, non-aborted reading advances that caller's last-read pointer and records a direct receipt idempotently. Reconnects and rescans do not double-count it.
P changes public/private state in place. Private→public asks whether to
address the delivery to All Callers; No retains the named recipient. Copy asks
for a destination conference and whether to change the recipient. It creates a
new unread destination number while retaining the source and original author.
Changing the recipient is SPITFIRE's Forward workflow. There are no separate
Move or Forward commands and Copy never deletes the source automatically.
Your Messages
Message Y reports:
- new directly addressed messages;
- already received directly addressed messages;
- messages sent; and
- total messages visible to the caller.
Choose received or sent presentation, then enter the displayed
conference/message pair to open a body. Public All Callers messages appear
in the sender's sent list but are not direct received mail for every caller.
Comment to Sysop
Main C creates a private Conference 1 message addressed to the configured
Sysop caller. It is durable mail, not the interactive Page the Sysop/chat
workflow. The configured Sysop caller account must exist.
Current boundary
Local conferences, queues, privacy, receipts, replies, threads, discovery, Your Messages, CC delivery, tombstone/undelete, audience toggle, and source-retaining Copy/Forward are implemented and verified. Physical packing/retention and broader maintenance/audit viewing remain later scopes. Native QWK, FTN and CircuitNET adapters are accepted separately; local posting uses their existing publication boundary. See Native SPITFIRE NG Message System.
N3 FTN integration
See the FTN Sysop procedure for isolated operation and Technical Reference for authority/privacy/recovery. Native messages remain canonical; private FTN mail is separate from QWK private mail. Native BinkP transport is implemented; live public FidoNet participation is not claimed.
Posting identity
Set a conference's Posting identity to Inherit, Handle allowed, or Real name required. Inherit uses the board default; the compatibility default is Handle allowed. The conference list shows its configured choice. Network mapping screens also show the saved effective choice and its source.
A mapped network/link may require real names even when this conference allows handles. The strongest active outbound requirement applies before the caller writes: the same displayed name is stored locally and sent to those networks. The caller sees Posting as and cannot submit an incomplete required name. There is no silent export-time name change. Existing messages retain their original author; newly stricter rules hold unsuitable queued work rather than rewriting it.
See caller names and the technical policy contract.
D3 navigation, new messages and changing access
Conferences appear in local-number order. Message numbers are local to each conference; reading and linked threads proceed oldest to newest. Browse shows 20 headers at a time with date, unread and reply indicators. Enter requests the next page; Q returns. Normal terminal paging and time limits still apply.
Read → N scans only messages above your saved position in permitted conferences, skipping areas with nothing new. Enter/N advances and Q stops. When none remain, you return to the Message Menu. This/All/Queued retain sequential reading and allow older messages by number. Reading a higher number makes earlier numbers old; going backward never lowers your saved position. Other callers' positions are independent. Your current conference survives a visit to Main during a call.
Follows use the stored reply relationship, including replies with a changed subject. Unrelated messages with the same subject remain separate. Thread navigation shows at most 1000 connected messages and excludes content you cannot read. Deleted or unresolved parents do not authorize hidden content.
Read and post security are separate. A caller may browse an announcement area without being allowed to post. The current stored account and conference policy are checked again when saving; revocation or conference withdrawal cancels the action safely. A rejected save creates neither a partial message nor outbound publication work. Invalid/overlong input can be corrected; /A cancels composition.
Handle/real-name policy is shown before writing and checked again at save. A changed identity policy requires starting a new composition so the caller can review the new posting name. To remains a local addressee or All Callers, never a network destination. Public All Callers posts create the existing durable network-preparation obligation; configured adapters handle publication later. No message command requires a live network peer.
If a conference disappears, select another permitted area; if posting is refused, check the conference's read and post security separately, its active status, and the caller's current access. Knowing a restricted area's number or network codename does not grant access. Configure restricted areas with local read/post policy; network catalog labels do not confer local operator privileges.
Source: public docs/operator/messages.md. Navigation is adapted for this site; stale overview version/networking labels are reconciled with the accepted D3 checkpoint.