====== QWK Mail Packets ======

A **QWK mail packet** is a compressed bundle of all the new messages in your scan list, packaged so you can read them **offline** in your own mail reader, then upload your replies in a **REP packet** for the BBS to post on your behalf. QWK was the dominant offline-message protocol of the BBS era and is still actively used today, especially for [[network:dove-net|cross-BBS networks]] like DOVE-Net.

The QWK Mail Packet Menu in Synchronet is invoked from the [[user:shell:|command shell]] — in [[user:shell:classic|Classic]], that's ''Q'' from the Main prompt. The menu itself (built in to the BBS, not a separate loadable module) lets you:

  * **Download** a QWK packet (your new messages + new files list)
  * **Upload** a REP packet (your offline-composed replies, to be posted)
  * **Bidirectionally transfer** both at once
  * **Configure** Ctrl-A code handling for the packet

===== The QWK Offline Reader Menu =====

A live capture from [[bbs:vertrauen]]:

  ┌───────────────────────────┐
  │  QWK Offline Reader Menu  │
  ├───────────────────────────┴──────┐
  │ C Change Packet Configuration    │
  │ S Select Message Areas to Scan   │
  │ P Modify New-message Pointers    │
  │ U Upload REP reply packet        │
  │ D Download QWK message packet    │
  ├──────────────────────────────────┤
  │ Q Quit back to Main menu         │
  └──────────────────────────────────┘

  QWK:

===== Commands =====

==== D — Download QWK packet ====

Builds a QWK packet containing:

  * **All new messages** in every sub-board flagged ON in your [[user:msgbase#configuration|new-message scan list]]
  * Any new **e-mail** addressed to you (depending on your packet config)
  * A **new files list** if enabled
  * Optional file **attachments** if enabled
  * Optional **VOTING.DAT** (poll data) and **HEADERS.DAT** (extended headers)

You're prompted to choose a Ctrl-A handling mode (also configurable persistently — see ''C'' below):

  * **E** — Expand Ctrl-A codes to ANSI escape sequences (recommended if your offline reader supports ANSI)
  * **L** — Leave Ctrl-A codes in (your reader must handle them)
  * **<CR>** — Strip Ctrl-A codes (safest for non-ANSI readers; messages lose color/attributes)

Then choose a transfer protocol (Z-modem, etc.) and the packet downloads.

After the download, your **new-message scan pointers** are updated to the most recent messages included in the packet. If you want to scan messages online again afterwards, use [[user:msgbase#configuration|''[&I]'']] (reinitialize) or [[user:msgbase#configuration|''[&P]'']] to roll the pointers back.

==== U — Upload REP packet ====

Uploads a **REP** (reply) packet your offline reader produced. Synchronet processes the messages and posts them to the appropriate sub-boards on your behalf. NetMail-routed messages get queued for the next outbound run.

==== B — Bidirectional QWK & REP transfer ====

Some transfer protocols (e.g. Z-modem) can send and receive simultaneously. Bidirectional mode uploads your REP and downloads your QWK in one round trip. Saves call time on dial-up; less relevant on modern Internet connections but still works.

==== C — Change Packet Configuration ====

Persistent settings for what's included in your QWK packets — the same options you set during DOVE-Net signup ([[howto:dove-net|see DOVE-Net howto]] for canonical defaults). Among the options:

  * Ctrl-A handling (Expand / Leave / Strip)
  * Archive type (zip is universal)
  * Include e-mail (none / un-read only / all)
  * Include file attachments
  * Auto-delete e-mail after packing
  * Include new files list
  * Include index files
  * Include control files
  * Include VOTING.DAT (Synchronet v3.17+)
  * Include HEADERS.DAT (Synchronet v3.15+)
  * Include messages from yourself (echo-back)
  * Include time zone @-codes
  * Include @VIA path codes
  * Include @MSGID / @REPLY codes
  * Include UTF-8 characters
  * MIME-encode message text
  * Word-wrap exported messages
  * Extended (QWKE) packet format

==== S — Select Message Areas to Scan ====

Same as the [[user:msgbase#configuration|new-message scan list configuration]] (''[&N]''), but reachable from the QWK menu. Toggles which sub-boards are included in QWK packets — only ON sub-boards contribute messages.

==== P — Modify New-message Pointers ====

Same as [[user:msgbase#configuration|''[&P]'']] — manually set how far back the QWK build looks for messages, per sub-board.

==== Q — Quit ====

Returns to the Main prompt.

===== Offline readers =====

You'll need an **offline mail reader** on your local machine to actually read the QWK packets and compose replies. Many readers exist; classics include:

  * [[https://www.bluewaveoffline.com/|Blue Wave]]
  * **OLX** (Off-Line Xpress)
  * **MultiMail** (cross-platform, still maintained)
  * **MR/2 ICE** (OS/2)

Modern Synchronet sysops/users often use **MultiMail** — it works on Windows, Linux, macOS, and BSD.

===== Cross-BBS QWK networking =====

QWK isn't just for personal offline reading — it's also the protocol behind **QWK networks** (QWKnet). [[howto:dove-net|DOVE-Net]] is a popular Synchronet QWKnet. If you're a sysop instead of an end user, see [[howto:qwk-network-hub|Run a QWK Network Hub]] for the operator side.

===== See Also =====

  * [[user:|User Documentation]]
  * [[user:msgbase|Message Bases]] — what gets packed into your QWK
  * [[user:mail|Electronic Mail]] — your inbox; can be included in QWK
  * [[ref:qwk|QWK packet format]]
  * [[ref:qwknet|QWK Network Extensions]]
  * [[howto:dove-net|Join DOVE-Net]]
  * [[howto:qwk-network-hub|Run a QWK Network Hub]]
  * [[util:qwknodes|qwknodes]] utility (sysop)

{{tag>user qwk offline mail reader rep dove-net}}
