в вашем middleware.py вы должны иметь это:
if asbool(full_stack):
# Handle Python exceptions
app = ErrorHandler(app, global_conf, **config['pylons.errorware'])
# Display error documents for 401, 403, 404 status codes (and
# 500 when debug is disabled)
if asbool(config['debug']):
app = StatusCodeRedirect(app)
else:
app = StatusCodeRedirect(app, [400, 401, 403, 404, 500])
обрабатывает ваши ошибки. но если вы хотите отправить электронное письмо при возникновении ошибки, вы можете написать вспомогательную функцию, которую вы вызываете, в критической секции вашего кода, которая будет отправлять подробные сведения об ошибке на вашу электронную почту, или вы можете переписать это промежуточное программное обеспечение (ErrorHandler).
ofc Вы также можете просто добавить этот вызов вспомогательной функции в существующий ErrorHandler, но я не рекомендую его (не рекомендуется программировать для изменения существующей библиотеки).
код этой вспомогательной функции:
import turbomail
def send_mail(body, author,subject, to):
conf = {
'mail.on': True,
'mail.transport': 'smtp',
'mail.smtp.server': 'smtp.DOMAIN.SMT:25',
}
turbomail.interface.start(conf)
message = turbomail.Message(
author = author,
to = to,
subject = subject,
plain = body,
encoding = "utf-8"
)
message.send()
turbomail.interface.stop()
надеюсь, это поможет ...