1 /* $NetBSD: sendopts.h,v 1.2 2025/02/25 19:15:46 christos Exp $ */ 2 3 #ifndef _SENDOPTS_H_INCLUDED_ 4 #define _SENDOPTS_H_INCLUDED_ 5 6 /*++ 7 /* NAME 8 /* sendopts 3h 9 /* SUMMARY 10 /* Support for SMTPUTF8, REQUIRETLS, etc. 11 /* SYNOPSIS 12 /* #include <sendopts.h> 13 /* DESCRIPTION 14 /* .nf 15 16 /* 17 * Support for SMTPUTF8 (RFC 6531, RFC 6532, RFC 6533). These flags were 18 * migrated from <smtputf8.h> and MUST NOT be changed, to maintain queue 19 * file compatibility. 20 */ 21 #define SOPT_SMTPUTF8_NONE (0) 22 #define SOPT_SMTPUTF8_REQUESTED (1<<0) /* queue file/delivery/bounce request */ 23 #define SOPT_SMTPUTF8_HEADER (1<<1) /* queue file/delivery/bounce request */ 24 #define SOPT_SMTPUTF8_SENDER (1<<2) /* queue file/delivery/bounce request */ 25 #define SOPT_SMTPUTF8_RECIPIENT (1<<3) /* delivery request only */ 26 #define SOPT_SMTPUTF8_ALL (SOPT_SMTPUTF8_REQUESTED | \ 27 SOPT_SMTPUTF8_HEADER | \ 28 SOPT_SMTPUTF8_SENDER | \ 29 SOPT_SMTPUTF8_RECIPIENT) 30 #define SOPT_SMTPUTF8_DERIVED \ 31 (SOPT_SMTPUTF8_ALL & ~SOPT_SMTPUTF8_REQUESTED) 32 33 /* 34 * Support for REQUIRETLS (RFC 8689). At this time only the TLS-Required: 35 * header is implemented, but we reserve the flag that would support it. 36 */ 37 #define SOPT_REQUIRETLS_HEADER (1<<4) /* TLS-Required: no */ 38 #define SOPT_REQUIRETLS_ESMTP (1<<5) /* MAIL FROM ... REQUIRETLS */ 39 #define SOPT_REQUIRETLS_ALL (SOPT_REQUIRETLS_HEADER | \ 40 SOPT_REQUIRETLS_ESMTP) 41 #define SOPT_REQUIRETLS_DERIVED SOPT_REQUIRETLS_HEADER 42 43 #define SOPT_FLAG_ALL (SOPT_SMTPUTF8_ALL | SOPT_REQUIRETLS_ALL) 44 #define SOPT_FLAG_DERIVED (SOPT_SMTPUTF8_DERIVED | SOPT_REQUIRETLS_DERIVED) 45 46 /* 47 * Debug helper. 48 */ 49 extern const char *sendopts_strflags(unsigned flags, int delim); 50 51 /* LICENSE 52 /* .ad 53 /* .fi 54 /* The Secure Mailer license must be distributed with this software. 55 /* AUTHOR(S) 56 /* Wietse Venema 57 /* IBM T.J. Watson Research 58 /* P.O. Box 704 59 /* Yorktown Heights, NY 10598, USA 60 /* 61 /* Wietse Venema 62 /* porcupine.org 63 /*--*/ 64 65 #endif 66