Skip to main content

Name

post_smtp_command

Synopsis

#include "hooks/core/post_smtp_command.h"

| void **post_smtp_command** ( | closure, |   | |   | b, |   | |   | c, |   | |   | d); |   |

void * <var class="pdparam">closure</var>; int * <var class="pdparam">b</var>; message_construct * <var class="pdparam">c</var>; validate_context * <var class="pdparam">d</var>;

| int **has_core_post_smtp_command_hook** ( | ); |   |

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

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

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

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

| void **call_core_post_smtp_command_hook** ( | b, |   | |   | c, |   | |   | d); |   |

int * <var class="pdparam">b</var>; message_construct * <var class="pdparam">c</var>; validate_context * <var class="pdparam">d</var>;

Description

This hook is invoked immediately after receiving a complete network command on an SMTP session. It will be invoked regardless of the validity of the command.

The data of the command itself is stored in c->subcon.gb_donebuffer and its length in c->subcon.gb_donesize. The command itself may not be null terminated, respect the size . The validate context is passed as a parameter for convenience as &c->ctx == ctx .

Was this page helpful?