AM wrote at 2003-3-10 12:03 -0800:
I have the following snippet in my standard_error_message: ... <dtml-sendmail mailhost="mail_host"> ... <dtml-var error_tb> ... </dtml-sendmail>
The problem is that the error_tb is sent quoted like in the stuff below. Any ideas why?? Any workarounds?? .... Error Type: NotFound Traceback:
<p>Traceback (innermost last): <ul>
<li> Module ZPublisher.Publish, line 89, in publish</li>
<li> Module ZPublisher.BaseRequest, line 329, in traverse</li>
<li> Module ZPublisher.HTTPResponse, line 636, in debugError</li>
</ul>
Up to hear, it is as expected: You are sending a plain text email while "error_tb" expects to be incorporated into an HTML context.
NotFound: <TABLE BORDER="0" WIDTH="100%"> <TR VALIGN="TOP">
<TD WIDTH="10%" ALIGN="CENTER"> </TD>
<TD WIDTH="90%"> <H2>Site Error</H2> <P>An error was encountered while publishing this resource. </P> <P><STRONG>Debugging Notice</STRONG></P>
Zope has encountered a problem publishing your object.<p> Cannot locate object at: http://nbs.neuro-bs.com/dadada <HR NOSHADE>
This is caused by the following problem: Usually, "error_value" should be HTML quoted, as it may contain e.g. "<SpecialException instance at 0x3456>" or other non-HTML text. However, some exceptions, e.g. "debugError" put HTML formatted text in "error_value". Of course, quoting this HTML does not enhance readability. I do not have an easy solution. Probably, the exceptions that put HTML into "error_value" should derive from a special exception base class which would allow to treat them in a special way. Or, even better, all exceptions should delegate presentation to "standard_error_message" and do not try to HTML render error text. Dieter