in contrastpymailcgi runs on the web server machine and simply displays mail text on the client' browser--mail is downloaded from the pop server machine to the web serverwhere cgi scripts are run due to the autonomous nature of cgi scriptspymailcgi by itself has no automatic memory that spans pages and may need to reload headers and already viewed messages during single session these architecture differences have some important ramificationswhich we'll discuss later in this security protocols in onviewpswdsubmit' source code (example - )notice that password inputs are passed to an encode function as they are added to the parameters dictionarythis causes them to show up encrypted or otherwise obfuscated in hyperlinked urls they are also url encoded for transmission (with escapes if neededand are later decoded and decrypted within other scripts as needed to access the pop account the password encryption stepencodeis at the heart of pymailcgi' security policy in python todaythe standard library' ssl module supports secure sockets layer (sslwith its socket wrapper callif the required library is built into your python ssl automatically encrypts transmitted data to make it safe to pass over the net unfortunatelyfor reasons we'll discuss when we reach the secret py module later in this (see example - )this wasn' universal solution for pymailcgi' password data in shortthe python-coded web server we're using doesn' directly support its end of secure http encrypted dialoghttps because of thatan alternative scheme was reading pop email