def _from_address(self): properties = component.getUtility( Products.CMFCore.interfaces.IPropertiesTool) charset = properties.site_properties.getProperty('default_charset', 'utf-8') name = self.from_name or properties.email_from_name mail = self.from_address or properties.email_from_address if not isinstance(name, unicode): name = name.decode(charset) if not isinstance(mail, unicode): # mail has to be be ASCII!! mail = mail.decode(charset).encode('us-ascii', 'replace') #TODO : assert that mail is now valid. (could have '?' from repl.) return formataddr((str(Header(name, charset)), mail))