Sending Mail by SMTP
PyMailCGI supports two main functions, as links on the root page: composing and sending new mail to others and viewing 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 in Figure 17-2 the Python CGI script in Example 17-3 runs on the web server.
Example 17-3. PP3E\Internet\Web\PyMailCgi\cgi-bin\onRootSendLink.py
#!/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 shared utility modules we make top-level scripts such as this much easier to read and write, avoid code redundancy, and achieve a common look-and-feel to all our pages. There are no inputs to this script either; when run, it produces a page for composing a new message, as shown in Figure 17-3.
Figure 17-3. PyMailCGI ...
Get Programming Python, 3rd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.