Skip to main content

Name

bounce_error_classify

Synopsis

#include "hooks/core/bounce_error_classify.h"

| int **bounce_error_classify** ( | closure, |   | |   | body, |   | |   | len, |   | |   | pos); |   |

void * <var class="pdparam">closure</var>; const char * <var class="pdparam">body</var>; int <var class="pdparam">len</var>; int * <var class="pdparam">pos</var>;

| int **has_core_bounce_error_classify_hook** ( | ); |   |

| void **register_core_bounce_error_classify_hook_first** ( | hook, |   | |   | closure); |   |

ec_hook_core_bounce_error_classify_func_t <var class="pdparam">hook</var>; void *<var class="pdparam">closure</var>;

| void **register_core_bounce_error_classify_hook_last** ( | hook, |   | |   | closure); |   |

ec_hook_core_bounce_error_classify_func_t <var class="pdparam">hook</var>; void *<var class="pdparam">closure</var>;

| int **call_core_bounce_error_classify_hook** ( | body, |   | |   | len, |   | |   | pos); |   |

const char * <var class="pdparam">body</var>; int <var class="pdparam">len</var>; int * <var class="pdparam">pos</var>;

Description

Bounce classify an out of band bounce

The system calls this hook when bounce_classify2() or bounce_classify() are called. You should not invoke this hook directly; use bounce_classify2() instead.

The system guarantees that body will not include the trailing "." from the message terminator. In addition, the message payload will have transfer decoding removed.

The hook implementation returns a bounce classification code from the range defined in misc/smtp_error_codes.h, which may include custom classifications registered via smtp_error_register_class().

If the hook classifies the message, it will update the integer to which "pos" points to reflect the start of the substring of body that was responsible for the classification.

Was this page helpful?