[Zope3-Users] Re: Render ZPT template to send rich-text HTML mail
Philipp von Weitershausen
philipp at weitershausen.de
Thu Jun 1 15:26:30 EDT 2006
Philipp von Weitershausen wrote:
> thealx at poczta.onet.pl wrote:
>> Hi, I need to send some rich-text (HTML) mail, containing information
>> based on many objects. It would be nice to render it using ZPT
>> provided by Zope instead of manual creation of HTML text.
>>
>> Can I (ab)use ZPT for such purpose? I need to design ZPT template and
>> write corresponding View object. How to wire together the ZPT
>> template and corresponding View object to render a HTML message and
>> send it using mail utility?
>
> Let's say that the 'mail.html' view provides the HTML for the email body
> (whether that's ZPT, Python, or whatever doesn't matter), then you can
> simply do:
>
> >>> from zope.component import getMultiAdapter
> >>> view = getMultiAdapter((obj, request), name="@@mail.html")
W/o the @@ of course
> >>> html_email_body = view()
>
> >>> from email.MIMEText import MIMEText
> >>> message = MIMETExt(html_email_body.encode('utf-8'),
> ... 'text/html', 'utf-8')
> >>> # etc.
>
> >>> from zope.component import getUtility
> >>> mailer = getUtility(IMailDelivery, 'your-delivery-utility')
> >>> mailer.send(from, to, message.as_string())
>
>> Could you suggest some points to start with?
>
> Buy my book?
>
> Philipp
More information about the Zope3-users
mailing list