Loading...
Searching...
No Matches
SmtpConnection Class Reference

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

## Public Member Functions

| 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.

## Protected Member Functions

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

  config

  with 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

  attr

  optional 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-ERROR | missing 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

  name | the name of the connection
  description | connection description
  url | connection URL (potentially with password info)
  attributes | various attributes. See below
  options | connection options

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

Exceptions

  CONNECTION-OPTION-ERROR | missing or invalid connection option

## getDataProvider()

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

returns an SmtpClientDataProvider object for this connection

Parameters

  constructor_options | any 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 )

protected

returns an SmtpClient object

Parameters

  connect | if True, then SmtpClient::connect() is called

  rtopts

  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

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