/*++ /* NAME /* defer 3 /* SUMMARY /* defer service client interface /* SYNOPSIS /* #include <defer.h> /* /* int defer_append(flags, id, stats, rcpt, relay, tstats, dsn) /* int flags; /* const char *id; /* MSG_STATS *stats; /* RECIPIENT *rcpt; /* const char *relay; /* const POL_STATS *tstats; /* DSN *dsn; /* /* int defer_flush(flags, queue, id, encoding, sendopts, sender, /* dsn_envid, dsn_ret) /* int flags; /* const char *queue; /* const char *id; /* const char *encoding; /* int sendopts; /* const char *sender; /* const char *dsn_envid; /* int dsn_ret; /* /* int defer_warn(flags, queue, id, encoding, sendopts, sender, dsn_envid,dsn_ret) /* int flags; /* const char *queue; /* const char *id; /* const char *encoding; /* int sendopts; /* const char *sender; /* const char *dsn_envid; /* int dsn_ret; /* /* int defer_one(flags, queue, id, encoding, sendopts, sender, /* dsn_envid, ret, stats, recipient, relay, /* tstats, dsn) /* int flags; /* const char *queue; /* const char *id; /* const char *encoding; /* int sendopts; /* const char *sender; /* const char *dsn_envid; /* int dsn_ret; /* MSG_STATS *stats; /* RECIPIENT *rcpt; /* const char *relay; /* const POL_STATS *tstats; /* DSN *dsn; /* INTERNAL API /* int defer_append_intern(flags, id, stats, rcpt, relay, tstats, dsn) /* int flags; /* const char *id; /* MSG_STATS *stats; /* RECIPIENT *rcpt; /* const char *relay; /* const POL_STATS *tstats; /* DSN *dsn; /* DESCRIPTION /* This module implements a client interface to the defer service, /* which maintains a per-message logfile with status records for /* each recipient whose delivery is deferred, and the dsn_text why. /* /* defer_append() appends a record to the per-message defer log, /* with the dsn_text for delayed delivery to the named rcpt, /* updates the address verification service, or updates a message /* delivery record on request by the sender. The flags argument /* determines the action. /* The result is a convenient non-zero value. /* When the fast flush cache is enabled, the fast flush server is /* notified of deferred mail. /* /* defer_flush() bounces the specified message to the specified /* sender, including the defer log that was built with defer_append(). /* defer_flush() requests that the deferred recipients are deleted /* from the original queue file; the defer logfile is deleted after /* successful completion. /* The result is zero in case of success, non-zero otherwise. /* /* defer_warn() sends a warning message that the mail in /* question has been deferred. The defer log is not deleted, /* and no recipients are deleted from the original queue file. /* /* defer_one() implements dsn_filter(3) compatibility for the /* bounce_one() routine. /* /* defer_append_intern() is for use after the DSN filter. /* /* Arguments: /* .IP flags /* The bit-wise OR of zero or more of the following (specify /* BOUNCE_FLAG_NONE to explicitly request not special processing): /* .RS /* .IP BOUNCE_FLAG_CLEAN /* Delete the defer log in case of an error (as in: pretend /* that we never even tried to defer this message). /* .IP BOUNCE_FLAG_DELRCPT /* When specified with a flush request, request that /* recipients be deleted from the queue file. /* /* Note: the bounce daemon ignores this request when the /* recipient queue file offset is <= 0. /* .IP DEL_REQ_FLAG_MTA_VRFY /* The message is an MTA-requested address verification probe. /* Update the address verification database instead of deferring /* mail. /* .IP DEL_REQ_FLAG_USR_VRFY /* The message is a user-requested address expansion probe. /* Update the message delivery record instead of deferring /* mail. /* .IP DEL_REQ_FLAG_RECORD /* This is a normal message with logged delivery. Update the /* message delivery record and defer mail delivery. /* .RE /* .IP queue /* The message queue name of the original message file. /* .IP id /* The queue id of the original message file. /* .IP stats /* Time stamps from different message delivery stages /* and session reuse count. /* .IP rcpt /* Recipient information. See recipient_list(3). /* .IP relay /* Host we could not talk to. /* .IP tstats /* TLS per-feature status. /* .IP dsn /* Delivery status. See dsn(3). The specified action is ignored. /* .IP encoding /* The body content encoding: MAIL_ATTR_ENC_{7BIT,8BIT,NONE}. /* .IP sendopts /* Sender-requested SMTPUTF8 or RequireTLS support. /* .IP sender /* The sender envelope address. /* .IP dsn_envid /* Optional DSN envelope ID. /* .IP dsn_ret /* Optional DSN return full/headers option. /* .PP /* For convenience, these functions always return a non-zero result. /* DIAGNOSTICS /* Warnings: problems connecting to the defer service. /* Fatal: out of memory. /* BUGS /* Should be replaced by routines with an attribute-value based /* interface instead of an interface that uses a rigid argument list. /* LICENSE /* .ad /* .fi /* The Secure Mailer license must be distributed with this software. /* AUTHOR(S) /* Wietse Venema /* IBM T.J. Watson Research /* P.O. Box 704 /* Yorktown Heights, NY 10598, USA /* /* Wietse Venema /* Google, Inc. /* 111 8th Avenue /* New York, NY 10011, USA /* /* Wietse Venema /* porcupine.org
/*--*/
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.17Bemerkung:
(vorverarbeitet am 2026-08-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Die F&E Firma aus Norddeutschland
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.