as ispymailcgi avoids ever passing the pop account username and password across the net together in single transactionunless the password is encrypted or obfuscated according to the module secret py on the server this module can be different everywhere pymailcgi is installedand it can be uploaded anew in the future--encrypted passwords aren' persistent and live only for the duration of one mail-processing interaction session provided you don' publish your encryption code or its private keysyour data will be as secure as the custom encryption module you provide on your own server if you wish to use this system on the general internetyou'll want to tailor this code ideallyyou'll install pycrypto and change the private key string barring thatreplace example - with custom encryption coding scheme of your own or deploy one of the general techniques mentioned earliersuch as an https-capable web server in any eventthis software makes no guaranteesthe security of your password is ultimately up to you to ensure for additional information on security tools and techniquessearch the web and consult books geared exclusively toward web programming techniques as this system is prototype at largesecurity is just one of handful of limitations which would have to be more fully addressed in robust production-grade version because the encryption schemes used by pymailcgi are reversibleit is possible to reconstruct my email account' password if you happen to see its encrypted form in screenshotunless the private key listed in secret py was different when the tests shown were run to sidestep this issuethe email account used in all of this book' examples is temporary and will be deleted by the time you read these words please use an email account of your own to test-drive the system common utilities module finallythe file commonhtml py in example - is the grand central station of this application--its code is used and reused by just about every other file in the system most of it is self-explanatoryand we've already met most of its core idea earlierin conjunction with the cgi scripts that use it haven' talked about its debugging supportthough notice that this module assigns sys stderr to sys stdoutin an attempt to force the text of python error messages to show up in the client' browser (rememberuncaught exceptions print details to sys stderrthat works sometimes in pymailcgibut not always--the error text shows up in web page only if page_header call has already printed response preamble if you want to see all error messagesmake sure you call page_header (or print content-typelines manuallybefore any other processing the pymailcgi server