51 Filter::Type ,
const Filter::Config & ,
const std::string & spec ) ;
64 std::string id()
const override ;
65 bool quiet()
const override ;
68 void cancel()
override ;
69 Result result()
const override ;
70 std::string response()
const override ;
71 int responseCode()
const override ;
72 std::string reason()
const override ;
73 bool special()
const override ;
78 GStore::FileStore::State storestate()
const ;
79 std::string prefix()
const ;
80 static MxLookup::Config parseSpec( std::string_view , std::vector<GNet::Address> & ) ;
87 static ParserResult parseForwardTo(
const std::string & ) ;
88 static std::string addressLiteral( std::string_view s ,
unsigned int port = 0U ) ;
94 Filter::Type m_filter_type ;
95 Filter::Config m_filter_config ;
98 std::vector<GNet::Address> m_mxlookup_nameservers ;
100 Result m_result {Result::fail} ;
101 bool m_special {
false} ;
104 std::unique_ptr<MxLookup> m_lookup ;
A concrete GSmtp::Filter class for message routing: if the message's 'forward-to' envelope field is s...
~MxFilter() override
Destructor.
MxFilter(GNet::EventState es, GStore::FileStore &, Filter::Type, const Filter::Config &, const std::string &spec)
Constructor.
A lightweight object containing an ExceptionHandler pointer, optional ExceptionSource pointer and opt...
A timer class template in which the timeout is delivered to the specified method.
An interface for processing a message file through a filter.
A concrete implementation of the MessageStore interface dealing in paired flat files.
A somewhat opaque identifer for a GStore::MessageStore message id.
A configuration structure for GFilters::MxLookup.
Low-level file-system operations for GStore::FileStore.