36 ) + DataProviderActionCatalog::getActionOptionFromFields(
81 constructor(
string host, softint port, *code log, *code dbglog);
105 constructor(
string url, *code log, *code dbglog);
122 hash<auto> getInfo();
126 setInfoLogClosure(*code log);
130 setDebugLogClosure(*code log);
171 setUserPass(
string n_user,
string n_pass);
201 setReadTimeout(timeout to);
205 int getReadTimeoutMs();
209 date getReadTimeoutDate();
213 setConnectTimeout(timeout to);
217 int getConnectTimeoutMs();
221 date getConnectTimeoutDate();
257 nothing clearWarningQueue();
297 nothing setWarningQueue(
int warning_ms,
int warning_bs, Queue queue,
auto arg, timeout min_ms = 1s);
322 hash<auto> getUsageInfo();
377 final disconnectIntern();
403 sendDataIntern(data str);
409 sendData(
string str);
422 final hash<SmtpResponseInfo> sendCommand(
string str);
428 string readLine(timeout to);
440 forceDisconnectIntern();
561 bool getReply(reference<int> rcode, reference<string> rmsg);
591 constructor(
string name,
string description,
string url, hash<auto> attributes = {}, hash<auto> options = {})
680 SmtpClient
getImpl(
bool connect = True, *hash<auto> rtopts);
709 const ChildMap = ...;
889 static Class
cls =
new Class(
"SmtpClientDataProvider");
922const SmtpWhiteLogo = ...;
925const SmtpBlackLogo = ...;
The SMTP data provider factory.
Definition SmtpClient.qm.dox.h:884
hash< DataProviderFactoryInfo > getInfoImpl()
Returns static factory information without provider_info.
const FactoryInfo
Factory info.
Definition SmtpClient.qm.dox.h:892
static Class cls
Data provider type info.
Definition SmtpClient.qm.dox.h:889
Class getClassImpl()
Returns the class for the data provider object.
hash< DataProviderInfo > getProviderInfoImpl()
Returns static provider information.
Data provider implementing an API for sending email messages.
Definition SmtpClient.qm.dox.h:694
hash< DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
const ProviderInfo
Provider info.
Definition SmtpClient.qm.dox.h:698
constructor(*hash< auto > options)
Creates the object from constructor options.
*list< string > getChildProviderNamesImpl()
Returns a list of child data provider names, if any.
constructor(SmtpClient smtp)
Creates the object from an SmtpClient object.
SmtpClient smtp
The SmtpClient object.
Definition SmtpClient.qm.dox.h:707
*AbstractDataProvider getChildProviderImpl(string name)
Returns the given child provider or NOTHING if the given child is unknown.
*list< hash< DataProviderSummaryInfo > > getChildProviderSummaryInfo()
Return data provider summary info.
const ConstructorOptions
Constructor options.
Definition SmtpClient.qm.dox.h:702
*string getDesc()
Returns the data provider description.
Send email data provider.
Definition SmtpClient.qm.dox.h:759
string getName()
Returns the data provider name.
SmtpClient smtp
SMTP connection.
Definition SmtpClient.qm.dox.h:763
const ProviderInfo
Provider info.
Definition SmtpClient.qm.dox.h:766
constructor(SmtpClient smtp)
Creates the object from an SMTP connection.
hash< DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
auto doRequestImpl(auto req, *hash< auto > request_options)
Makes a request and returns the response.
const ProviderSummaryInfo
Provider summary info.
Definition SmtpClient.qm.dox.h:770
constructor(*hash< auto > options)
Creates the object from constructor options.
const RequestType
Request type.
Definition SmtpClient.qm.dox.h:774
*AbstractDataProviderType getResponseTypeImpl()
Returns the description of a response message, if this object represents a response message.
const ResponseType
Response type.
Definition SmtpClient.qm.dox.h:777
*AbstractDataProviderType getRequestTypeImpl()
Returns the description of a successful request message, if any.
class for SMTP connections; returns an object of class SmtpClient for sending emails
Definition SmtpClient.qm.dox.h:573
SmtpClient getImpl(bool connect=True, *hash< auto > rtopts)
returns an SmtpClient object
*hash< auto > getRuntimeOptions()
returns runtime options
constructor(hash< auto > config, *hash< auto > attr)
creates the SmtpConnection connection object
string getType()
returns "smtp"
bool hasDataProvider()
returns True, as the connection returns a data provider with the getDataProvider() method
bool supportsPollingApi()
returns True, since this connection type supports the Qore Socket-based polling API
DataProvider::AbstractDataProvider getDataProvider(*hash< auto > constructor_options)
returns an SmtpClientDataProvider object for this connection
setChildCapabilities()
Sets child data provider capabilities.
hash< ConnectionSchemeInfo > getConnectionSchemeInfoImpl()
Returns the ConnectionSchemeInfo hash for this object.
Qore::AbstractPollOperation startPollConnect(*Logger::LoggerInterface logger)
Called to start a non-blocking polling ping operation on the remote SMTP server.
const ConnectionScheme
Connection entry info.
Definition SmtpClient.qm.dox.h:577
constructor(string name, string description, string url, hash< auto > attributes={}, hash< auto > options={})
creates the SmtpConnection connection object
Class for SMTP non-blocking / polling pings.
Definition SmtpClient.qm.dox.h:447
string hello_reply
Server's HELO / EHLO reply.
Definition SmtpClient.qm.dox.h:506
const SPS_SEND_HELLO
Send hello state.
Definition SmtpClient.qm.dox.h:457
int starttls_code
Server's STARTTLS code.
Definition SmtpClient.qm.dox.h:509
const SPS_STARTTLS
Send STARTTLS state.
Definition SmtpClient.qm.dox.h:463
int login_code
Server's login code.
Definition SmtpClient.qm.dox.h:515
const SPS_COMPLETE
Complete state.
Definition SmtpClient.qm.dox.h:478
Socket sock()
The Socket for communication with the server.
bool goal_reached
Goal reached flag.
Definition SmtpClient.qm.dox.h:497
*hash< SocketPollInfo > continuePoll()
Returns a hash to be used for I/O polling or NOTHING in case the poll operation is complete.
string getGoal()
Returns the goal.
bool getReply(reference< int > rcode, reference< string > rmsg)
Private reads a reply from the SMTP server.
bool goalReached()
Returns True when the goal as been reached.
const SPS_READ_LOGIN_REPLY
Read login reply.
Definition SmtpClient.qm.dox.h:475
const SPS_CONNECT
Connect state.
Definition SmtpClient.qm.dox.h:451
string getState()
Returns the current state.
string login_reply
Server's login reply.
Definition SmtpClient.qm.dox.h:518
const SPS_READ_HELLO
Read hello state.
Definition SmtpClient.qm.dox.h:454
AbstractPollOperation poller
The current internal poll operation.
Definition SmtpClient.qm.dox.h:488
const SPS_READ_HELLO_REPLY
Read hello reply state.
Definition SmtpClient.qm.dox.h:460
int hello_reply_code
Server's HELO / EHLO reply code.
Definition SmtpClient.qm.dox.h:503
const SPS_UPGRADE_TO_TLS
Upgrade socket connection to TLS.
Definition SmtpClient.qm.dox.h:469
hash< auto > info
Info about the SMTP client.
Definition SmtpClient.qm.dox.h:482
startLogin()
Starts the polling login state.
constructor(SmtpClient smtp)
Creates the object based on the SmtpClient.
string starttls_reply
Server's STARTTLS reply.
Definition SmtpClient.qm.dox.h:512
const SPS_READ_STARTTLS_REPLY
Read STARTTLS reply.
Definition SmtpClient.qm.dox.h:466
const SPS_LOGIN
Login state.
Definition SmtpClient.qm.dox.h:472
string state
Current state.
Definition SmtpClient.qm.dox.h:494
Mutex m()
Lock for atomicity.
bool esmtp
ESMTP flag.
Definition SmtpClient.qm.dox.h:500
SMTP attachment type.
Definition SmtpClient.qm.dox.h:824
const Fields
Field descriptions.
Definition SmtpClient.qm.dox.h:828
constructor()
Creates the object.
SMTP send email request type.
Definition SmtpClient.qm.dox.h:840
constructor()
Creates the object.
const Fields
Field descriptions.
Definition SmtpClient.qm.dox.h:844
SMTP send email response data type.
Definition SmtpClient.qm.dox.h:872
constructor()
Creates the object.
SMTP send email response info type.
Definition SmtpClient.qm.dox.h:856
constructor()
Creates the object.
const Fields
Field descriptions.
Definition SmtpClient.qm.dox.h:861