Re: [Python-es] Problemas al trabajar con el módulo email
Chema Cortes
py en ls-l.org
Mie Ago 3 11:34:04 CEST 2005
Raúl Alexis Betancort Santana escribió:
> ------------------------------
> #!/usr/bin/python
>
> import sys,re,ldap,email
>
> ldapuser=""
> ldappasswd=""
>
> [...]
>
> if __name__ == "__main__":
>
> msg = email.message_from_file(sys.stdin)
> f = re.compile('^([_0-9a-zA-Z]+)<?(.*)@(.*)>?$')
> m = f.match(msg.__getitem__('From'))
> name = m.group(1)
> user = m.group(2)
> domain = m.group(3)
> print msg.__getitem__('From')
> msg.__delitem__('From')
> if checkLocalDomain(domain):
> msg.add_header('From','%s <%s@%s>' %(returnDN(user,domain),user,domain))
> else:
> msg.add_header('From','%s [%s@%s] <%s@%s>'
> %(name,user,domain,user,domain))
> print msg.__str__()
> -----------------
A parte de que ya lo hayas resuelto, no deberías acceder a los métodos
implícitos a no ser que quieras modificar su comportamiento.
En lugar de Sería
msf.__getitem__('From') msf['From']
msg.__delitem__('From') del msg['From']
print msg.__str__() print str(msg)
En éste último, es posible que no haga falta ni convertir 'msg' en
cadena y que el print lo haga implícitamente.
Más información sobre la lista de distribución Python-es