1*0ec8b83dSEd Tanous #pragma once 2*0ec8b83dSEd Tanous #include <nlohmann/json.hpp> 3*0ec8b83dSEd Tanous 4*0ec8b83dSEd Tanous namespace event_service 5*0ec8b83dSEd Tanous { 6*0ec8b83dSEd Tanous // clang-format off 7*0ec8b83dSEd Tanous 8*0ec8b83dSEd Tanous enum class SMTPConnectionProtocol{ 9*0ec8b83dSEd Tanous Invalid, 10*0ec8b83dSEd Tanous None, 11*0ec8b83dSEd Tanous AutoDetect, 12*0ec8b83dSEd Tanous StartTLS, 13*0ec8b83dSEd Tanous TLS_SSL, 14*0ec8b83dSEd Tanous }; 15*0ec8b83dSEd Tanous 16*0ec8b83dSEd Tanous enum class SMTPAuthenticationMethods{ 17*0ec8b83dSEd Tanous Invalid, 18*0ec8b83dSEd Tanous None, 19*0ec8b83dSEd Tanous AutoDetect, 20*0ec8b83dSEd Tanous Plain, 21*0ec8b83dSEd Tanous Login, 22*0ec8b83dSEd Tanous CRAM_MD5, 23*0ec8b83dSEd Tanous }; 24*0ec8b83dSEd Tanous 25*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SMTPConnectionProtocol, { 26*0ec8b83dSEd Tanous {SMTPConnectionProtocol::Invalid, "Invalid"}, 27*0ec8b83dSEd Tanous {SMTPConnectionProtocol::None, "None"}, 28*0ec8b83dSEd Tanous {SMTPConnectionProtocol::AutoDetect, "AutoDetect"}, 29*0ec8b83dSEd Tanous {SMTPConnectionProtocol::StartTLS, "StartTLS"}, 30*0ec8b83dSEd Tanous {SMTPConnectionProtocol::TLS_SSL, "TLS_SSL"}, 31*0ec8b83dSEd Tanous }); 32*0ec8b83dSEd Tanous 33*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SMTPAuthenticationMethods, { 34*0ec8b83dSEd Tanous {SMTPAuthenticationMethods::Invalid, "Invalid"}, 35*0ec8b83dSEd Tanous {SMTPAuthenticationMethods::None, "None"}, 36*0ec8b83dSEd Tanous {SMTPAuthenticationMethods::AutoDetect, "AutoDetect"}, 37*0ec8b83dSEd Tanous {SMTPAuthenticationMethods::Plain, "Plain"}, 38*0ec8b83dSEd Tanous {SMTPAuthenticationMethods::Login, "Login"}, 39*0ec8b83dSEd Tanous {SMTPAuthenticationMethods::CRAM_MD5, "CRAM_MD5"}, 40*0ec8b83dSEd Tanous }); 41*0ec8b83dSEd Tanous 42*0ec8b83dSEd Tanous } 43*0ec8b83dSEd Tanous // clang-format on 44