Index: trunk/packages/sipb-xen-www/code/main.py
===================================================================
--- trunk/packages/sipb-xen-www/code/main.py	(revision 600)
+++ trunk/packages/sipb-xen-www/code/main.py	(revision 601)
@@ -120,9 +120,10 @@
 def error(op, username, fields, err, emsg, traceback):
     """Print an error page when a CodeError occurs"""
-    send_error_mail('xvm error on %s for %s: %s' % (op, username, err),
-                    'error on %s for %s: %s\n\n%s\n'
-                    % (op, username, err, emsg))
     d = dict(op=op, user=username, fields=fields,
              errorMessage=str(err), stderr=emsg, traceback=traceback)
+    details = templates.error_raw(searchList=[d])
+    send_error_mail('xvm error on %s for %s: %s' % (op, username, err),
+                    details)
+    d['details'] = details
     return templates.error(searchList=[d])
 
Index: trunk/packages/sipb-xen-www/code/templates/__init__.py
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/__init__.py	(revision 600)
+++ trunk/packages/sipb-xen-www/code/templates/__init__.py	(revision 601)
@@ -1,3 +1,3 @@
-__all__ = 'info command error help invalid list unauth vnc'.split()
+__all__ = 'info command error error_raw help invalid list unauth vnc'.split()
 for _name in __all__:
     try:
Index: trunk/packages/sipb-xen-www/code/templates/error.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/error.tmpl	(revision 600)
+++ trunk/packages/sipb-xen-www/code/templates/error.tmpl	(revision 601)
@@ -13,20 +13,8 @@
 consistently biting you and we don't seem to be fixing it.</p>
 
-<p>In case you're curious, the gory details are here.</p>
+<p>In case you're curious, the gory details are below.</p>
 
 <pre>
-Error on operation $op for user $user: $errorMessage
-
-Fields:
-#for $f in $fields:
-$f=$fields[$f].value
-#end for
-
-Error output:
-$stderr#slurp
----- end error output
-
-Traceback:
-$traceback
+$details
 </pre>
 #end def
Index: trunk/packages/sipb-xen-www/code/templates/error_raw.tmpl
===================================================================
--- trunk/packages/sipb-xen-www/code/templates/error_raw.tmpl	(revision 601)
+++ trunk/packages/sipb-xen-www/code/templates/error_raw.tmpl	(revision 601)
@@ -0,0 +1,13 @@
+Error on operation $op for user $user: $errorMessage
+
+Fields:
+#for $f in $fields:
+$f=$fields[$f].value
+#end for
+
+Error output:
+$stderr#slurp
+---- end error output
+
+Traceback:
+$traceback
