Sending Mail by SMTP
PyMailCgi supports two main functions (as links on the root page): composing and sending new mail to others, and viewing your incoming mail. The View function leads to pages that let users reply to, forward, and delete existing email. Since the Send function is the simplest, let’s start with its pages and scripts first.
The Message Composition Page
The Send function steps users through two pages: one to edit a message and one to confirm delivery. When you click on the Send link on the main page, the script in Example 13-3 runs on the server.
Example 13-3. PP2E\Internet\Cgi-Web\PyMailCgi\onRootSendLink.cgi
#!/usr/bin/python
# On 'send' click in main root window
import commonhtml
from externs import mailconfig
commonhtml.editpage(kind='Write', headers={'From': mailconfig.myaddress})No, this file wasn’t truncated; there’s not much to see
in this script, because all the action has been encapsulated in the
commonhtml and externs modules.
All that we can tell here is that the script calls something named
editpage to generate a reply, passing in something
called myaddress for its “From”
header. That’s by design -- by hiding details in utility
modules, we make top-level scripts like this much easier to read and
write. There are no inputs to this script either; when run, it
produces a page for composing a new message, as shown in Figure 13-3.

Figure 13-3. PyMailCgi ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access