[Mailman-Users] Personalization in the original email
Mark Sapiro
msapiro at value.net
Tue Mar 28 18:52:18 CEST 2006
fmpage at free.fr wrote:
>
>I've been trying to get personalization working inside the body of the original
>email instead of using header and footer.
>I did manage to get it working in plain text and html format, by doing some
>tweaking in the Decorate.py file.
>However, the code I added to get it working for multipart/alternative does not
>seem to work. See below:
>
>sMsgToFormat=""
>msgtype = msg.get_content_type()
>
>if not msg.is_multipart():
> sMsgToFormat=msg.get_payload()
>
>elif msgtype == 'multipart/alternative':
> sBoundary=msg.get_boundary()
> part=msg.get_payload()
> for val in part:
> sPart=sBoundary+'\n'+val.as_string()
> sMsgToFormat+=sPart
> sMsgToFormat+='\n'
>
>#now replace substitute var that are formmated as [[variable]]
>for key, val in d.iteritems():
> sMsgToFormat=string.replace(sMsgToFormat,'[['+key+']]',val)
>
>#set the original message with the new content
>msg.set_payload(sMsgToFormat)
>
>The output generated seems ok when I look at the mail source on any client, but
>the message does not show up at all.
First, this is probably OT for mailman-users. I suggest you take any
follow ups to mailman-developers.
You have probably broken the MIME structure in some way. It is not
clear to me exactly how, but you are manipulating MIME parts outside
of the standard methods for doing so, so it's not surprising. Why not
just to something like:
for part in msg.walk():
if part.get_content_maintype() == 'text':
del part['content-transfer-encoding']
part.set_payload(DoReplacements(
part.get_payload(decode=True)))
--
Mark Sapiro <msapiro at value.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
More information about the Mailman-Users
mailing list