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.