E-MailRelay
|
A concrete Verifier class that verifies against the password database (ie. More...
#include <guserverifier.h>
Public Member Functions | |
UserVerifier (GNet::EventState es, const GSmtp::Verifier::Config &config, const std::string &spec) | |
Constructor. More... | |
![]() | |
virtual void | verify (const Request &)=0 |
Checks a recipient address and asynchronously returns a GSmtp::VerifierStatus structure to indicate whether the address is a local mailbox, what the full name is, and the canonical address. | |
virtual G::Slot::Signal< Command, const VerifierStatus & > & | doneSignal ()=0 |
Returns a signal that is emit()ed when the verify() request is complete. | |
virtual void | cancel ()=0 |
Aborts any current processing. | |
virtual | ~Verifier ()=default |
Destructor. | |
Additional Inherited Members | |
![]() | |
enum class | Command { VRFY , RCPT } |
A concrete Verifier class that verifies against the password database (ie.
getpwnam() or LookupAccountName()).
The first part of the recipient address has to match an entry in the password database and the second part has to match the configured domain name. A sub-range for the password database entries can be configured via the 'spec' string. This has a sensible default that excludes system accounts. The domain name match is case insensitive.
By default the matching addresses are returned as valid local mailboxes and non-matching addresses are rejected. With "remote" the matching addresses are returned as remote. With "check" the non-matching addresses are returned as valid and remote.
The returned mailbox names are the account names as read from the password database, optionally with seven-bit uppercase letters converted to lowercase.
Definition at line 55 of file guserverifier.h.
GVerifiers::UserVerifier::UserVerifier | ( | GNet::EventState | es, |
const GSmtp::Verifier::Config & | config, | ||
const std::string & | spec | ||
) |
Constructor.
The spec string is semi-colon separated list of values including a uid range and "lc"/"lowercase" eg. "1000-1002;pm;lc".
Definition at line 30 of file guserverifier.cpp.