#pragma once #include "../../config.h" #include #include enum { SMTP_PORT = 25, SMTPS_PORT = 465 }; #define SMTP_EXPECT "220" typedef struct { int server_port; char *server_address; char *localhostname; char *server_expect; bool ignore_send_quit_failure; double warning_time; bool check_warning_time; double critical_time; bool check_critical_time; bool use_ehlo; bool use_lhlo; char *from_arg; bool send_mail_from; int ncommands; char **commands; int nresponses; char **responses; char *authtype; char *authuser; char *authpass; bool use_proxy_prefix; #ifdef HAVE_SSL bool check_cert; int days_till_exp_warn; int days_till_exp_crit; bool use_ssl; bool use_starttls; bool use_sni; #endif } check_smtp_config; check_smtp_config check_smtp_config_init() { check_smtp_config tmp = { .server_port = SMTP_PORT, .server_address = NULL, .localhostname = NULL, .server_expect = SMTP_EXPECT, .ignore_send_quit_failure = false, .warning_time = 0, .check_warning_time = false, .critical_time = 0, .check_critical_time = false, .use_ehlo = false, .use_lhlo = false, .from_arg = strdup(" "), .send_mail_from = false, .ncommands = 0, .commands = NULL, .nresponses = 0, .responses = NULL, .authtype = NULL, .authuser = NULL, .authpass = NULL, .use_proxy_prefix = false, #ifdef HAVE_SSL .check_cert = false, .days_till_exp_warn = 0, .days_till_exp_crit = 0, .use_ssl = false, .use_starttls = false, .use_sni = false, #endif }; return tmp; }