same confirmation page we got earlier when writing new mail from scratch
(Figure 16-4).
Forward operations are virtually the same, except for a few email header differences.
All of this busy-ness comes “for free,” because Reply and Forward pages are generated
by calling commonhtml.editpage, the same utility used to create a new mail composition
page. Here, we simply pass preformatted header line strings to the utility (e.g., replies
add “Re:” to the subject text). We applied the same sort of reuse trick in PyMailGUI,
but in a different context. In PyMailCGI, one script handles three pages; in PyMailGUI,
one superclass and callback method handles three buttons, but the architecture is sim-
ilar in spirit.
Delete
Selecting the Delete action on a message view page and pressing Next will cause the
onViewPageAction script to immediately delete the message being viewed. Deletions are
performed by calling a reusable delete utility function coded in Chapter 13’s mail
Figure 16-16. PyMailCGI reply page
1268 | Chapter 16: The PyMailCGI Server