Qore SmtpClient Module Reference 2.0
Loading...
Searching...
No Matches
SmtpConnection Class Reference

class for SMTP connections; returns an object of class SmtpClient for sending emails More...

#include <SmtpClient.qm.dox.h>

Inheritance diagram for SmtpConnection:
[legend]

Public Member Methods

 constructor (hash< auto > config, *hash< auto > attr)
 creates the SmtpConnection connection object
 
 constructor (string name, string description, string url, hash< auto > attributes={}, hash< auto > options={})
 creates the SmtpConnection connection object
 
DataProvider::AbstractDataProvider getDataProvider (*hash< auto > constructor_options)
 returns an SmtpClientDataProvider object for this connection
 
*hash< auto > getRuntimeOptions ()
 returns runtime options
 
string getType ()
 returns "smtp"
 
bool hasDataProvider ()
 returns True, as the connection returns a data provider with the getDataProvider() method
 
Qore::AbstractPollOperation startPollConnect (*Logger::LoggerInterface logger)
 Called to start a non-blocking polling ping operation on the remote SMTP server.
 
bool supportsPollingApi ()
 returns True, since this connection type supports the Qore Socket-based polling API
 

Public Attributes

const ConnectionScheme = ...
 Connection entry info.
 

Private Member Methods

hash< ConnectionSchemeInfo > getConnectionSchemeInfoImpl ()
 Returns the ConnectionSchemeInfo hash for this object.
 
SmtpClient getImpl (bool connect=True, *hash< auto > rtopts)
 returns an SmtpClient object
 
 setChildCapabilities ()
 Sets child data provider capabilities.
 

Detailed Description

class for SMTP connections; returns an object of class SmtpClient for sending emails

supports the following runtime options in getImpl() for connection logging:

  • "log": a closure accepting a single string for logging
  • "dbglog": a closure taking a single string for detailed technical connection logging
Since
SmtpClient 1.6

Member Function Documentation

◆ constructor() [1/2]

SmtpConnection::constructor ( hash< auto >  config,
*hash< auto >  attr 
)

creates the SmtpConnection connection object

Parameters
configwith the following keys:
  • name (required string): the connection name
  • display_name (optional string): the display name
  • short_desc (optional string): a short description in plain text
  • desc (optional string): a long description with markdown formatting
  • url (required string): the connection URL
  • opts (optional hash): connection options
  • logger (optional LoggerInterface object): logger for the connection
attroptional connection attributes
  • monitor (optional bool): should the connection be monitored? Default: True
  • enabled (optional bool): is the connection enabled? Default: True
  • locked (optional bool): is the connection locked? Default: False
  • debug_data (optional bool): debug data? Default: False
  • tags (optional hash): tags for the connection; no default value
Exceptions
CONNECTION-OPTION-ERRORmissing or invalid connection option or attribute

◆ constructor() [2/2]

SmtpConnection::constructor ( string  name,
string  description,
string  url,
hash< auto >  attributes = {},
hash< auto >  options = {} 
)

creates the SmtpConnection connection object

Parameters
namethe name of the connection
descriptionconnection description
urlconnection URL (potentially with password info)
attributesvarious attributes. See below
optionsconnection options

See AbstractConnection::constructor() for attributes and options reference.

Exceptions
CONNECTION-OPTION-ERRORmissing or invalid connection option

◆ getDataProvider()

DataProvider::AbstractDataProvider SmtpConnection::getDataProvider ( *hash< auto >  constructor_options)

returns an SmtpClientDataProvider object for this connection

Parameters
constructor_optionsany additional constructor options for the data provider
Returns
an SmtpClientDataProvider object for this connection
See also
hasDataProvider()

◆ getImpl()

SmtpClient SmtpConnection::getImpl ( bool  connect = True,
*hash< auto >  rtopts 
)
private

returns an SmtpClient object

Parameters
connectif True, then SmtpClient::connect() is called
rtoptssupports the following runtime options in getImpl() for connection logging:
  • "log": a closure accepting a single string for logging
  • "dbglog": a closure taking a single string for detailed technical connection logging
Returns
an SmtpClient object

◆ getRuntimeOptions()

*hash< auto > SmtpConnection::getRuntimeOptions ( )

returns runtime options

Returns
a hash with the following keys reflecting support for the corresponding runtime options in getImpl() for connection logging:
  • "log": a closure accepting a single string for logging
  • "dbglog": a closure taking a single string for detailed technical connection logging

◆ hasDataProvider()

bool SmtpConnection::hasDataProvider ( )

returns True, as the connection returns a data provider with the getDataProvider() method

Returns
True, as the connection returns a data provider with the getDataProvider() method
See also
getDataProvider()

◆ startPollConnect()

Qore::AbstractPollOperation SmtpConnection::startPollConnect ( *Logger::LoggerInterface  logger)

Called to start a non-blocking polling ping operation on the remote SMTP server.

Returns
a socket poll operation object that will allow the connection goal to be reached with polling
See also
supportsPollingApi()
Since
SmtpClient 2.0

◆ supportsPollingApi()

bool SmtpConnection::supportsPollingApi ( )

returns True, since this connection type supports the Qore Socket-based polling API

Returns
True
Since
ConnectionProvider 1.7