bounce_error_classify
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.