21#ifndef G_SMTP_SERVER_PARSER_H
22#define G_SMTP_SERVER_PARSER_H
43 enum class MailboxStyle
55 bool utf8address {
false} ;
56 std::size_t tailpos {std::string::npos} ;
57 std::size_t size {0U} ;
60 bool smtputf8 {
false} ;
63 static MailboxStyle
mailboxStyle(
const std::string & mailbox ) ;
82 static std::string
parseVrfy(
const std::string & ) ;
A static mix-in class for GSmtp::ServerProtocol to do SMTP command parsing.
static MailboxStyle mailboxStyle(const std::string &mailbox)
Classifies the given mailbox name.
static std::string parseVrfy(const std::string &)
Parses a VRFY command.
static std::pair< std::size_t, bool > parseBdatSize(G::string_view)
Parses a BDAT command.
static std::pair< bool, bool > parseBdatLast(G::string_view)
Parses a BDAT LAST command.
static AddressCommand parseMailFrom(G::string_view)
Parses a MAIL-FROM command.
static AddressCommand parseRcptTo(G::string_view)
Parses a RCPT-TO command.
static std::string parseHeloPeerName(const std::string &)
Parses the peer name from an HELO/EHLO command.
A class like c++17's std::string_view.