pathname = os.path.join(savedir, basename) if isinstance(filedata, str): # 3.0: rb needs bytes filedata = filedata.encode() # 3.0: use encoding? savefile = open(pathname, 'wb') savefile.write(filedata) # or a with statement savefile.close() # but EIBTI still os.chmod(pathname, 0o666) # need for some srvrs partnames.append(pathname) # list of local paths return partnames # gets type from name #commonhtml.dumpstatepage(0) form = cgi.FieldStorage() # parse form input data attaches = saveAttachments(form) # cgi.print_form(form) to see # server name from module or get-style URL smtpservername = commonhtml.getstandardsmtpfields(form) # parms assumed to be in form or URL here from commonhtml import getfield # fetch value attributes From = getfield(form, 'From') # empty fields may not be sent To = getfield(form, 'To') Cc = getfield(form, 'Cc') Subj = getfield(form, 'Subject') text = getfield(form, 'text') if Cc == '?': Cc = '' # 3.0: headers encoded per utf8 within mailtools if non-ascii parser = mailtools.MailParser() Tos = parser.splitAddresses(To) # multiple recip lists: ',' sept Ccs = (Cc and parser.splitAddresses(Cc)) or '' extraHdrs = [('Cc', Ccs), ('X-Mailer', 'PyMailCGI 3.0')]