Properties

$_defaultConfig

$_defaultConfig : array

Default config for this class

Type

array

$_config

$_config : array

Runtime config

Type

array

$_configInitialized

$_configInitialized : boolean

Whether the config property has already been configured with defaults

Type

boolean

$_content

$_content : array

Content of email to return

Type

array

$_lastResponse

$_lastResponse : array

The response of the last sent SMTP command.

Type

array

Methods

send()

send(\Cake\Mailer\Email  $email) : array

Send mail

Parameters

\Cake\Mailer\Email $email

Email instance

Throws

\Cake\Network\Exception\SocketException

Returns

array

__construct()

__construct(array  $config = array()) 

Constructor

Parameters

array $config

Configuration options.

setConfig()

setConfig(string|array  $key, mixed|null  $value = null, boolean  $merge = true) : $this

Sets the config.

Usage

Setting a specific value:

$this->setConfig('key', $value);

Setting a nested value:

$this->setConfig('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->setConfig(['one' => 'value', 'another' => 'value']);

Parameters

string|array $key

The key to set, or a complete array of configs.

mixed|null $value

The value to set.

boolean $merge

Whether to recursively merge or overwrite existing config, defaults to true.

Throws

\Cake\Core\Exception\Exception

When trying to set a key that is invalid.

Returns

$this

getConfig()

getConfig(string|null  $key = null, mixed  $default = null) : mixed

Returns the config.

Usage

Reading the whole config:

$this->getConfig();

Reading a specific value:

$this->getConfig('key');

Reading a nested value:

$this->getConfig('some.nested.key');

Reading with default value:

$this->getConfig('some-key', 'default-value');

Parameters

string|null $key

The key to get or null for the whole config.

mixed $default

The return value when the key does not exist.

Returns

mixed —

Config value being read.

config()

config(string|array|null  $key = null, mixed|null  $value = null, boolean  $merge = true) : mixed

Gets/Sets the config.

Usage

Reading the whole config:

$this->config();

Reading a specific value:

$this->config('key');

Reading a nested value:

$this->config('some.nested.key');

Setting a specific value:

$this->config('key', $value);

Setting a nested value:

$this->config('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->config(['one' => 'value', 'another' => 'value']);

Parameters

string|array|null $key

The key to get/set, or a complete array of configs.

mixed|null $value

The value to set.

boolean $merge

Whether to recursively merge or overwrite existing config, defaults to true.

Throws

\Cake\Core\Exception\Exception

When trying to set a key that is invalid.

Returns

mixed —

Config value being read, or the object itself on write operations.

configShallow()

configShallow(string|array  $key, mixed|null  $value = null) : $this

Merge provided config with existing config. Unlike `config()` which does a recursive merge for nested keys, this method does a simple merge.

Setting a specific value:

$this->configShallow('key', $value);

Setting a nested value:

$this->configShallow('some.nested.key', $value);

Updating multiple config settings at the same time:

$this->configShallow(['one' => 'value', 'another' => 'value']);

Parameters

string|array $key

The key to set, or a complete array of configs.

mixed|null $value

The value to set.

Returns

$this

__destruct()

__destruct() 

Destructor

Tries to disconnect to ensure that the connection is being terminated properly before the socket gets closed.

connect()

connect() : void

Connect to the SMTP server.

This method tries to connect only in case there is no open connection available already.

connected()

connected() : boolean

Check whether an open connection to the SMTP server is available.

Returns

boolean

disconnect()

disconnect() : void

Disconnect from the SMTP server.

This method tries to disconnect only in case there is an open connection available.

getLastResponse()

getLastResponse() : array

Returns the response of the last sent SMTP command.

A response consists of one or more lines containing a response code and an optional response message text:

[
    [
        'code' => '250',
        'message' => 'mail.example.com'
    ],
    [
        'code' => '250',
        'message' => 'PIPELINING'
    ],
    [
        'code' => '250',
        'message' => '8BITMIME'
    ],
    // etc...
]

Returns

array

_headersToString()

_headersToString(array  $headers, string  $eol = "\r\n") : string

Help to convert headers in string

Parameters

array $headers

Headers in format key => value

string $eol

End of line string.

Returns

string

_configRead()

_configRead(string|null  $key) : mixed

Reads a config key.

Parameters

string|null $key

Key to read.

Returns

mixed

_configWrite()

_configWrite(string|array  $key, mixed  $value, boolean|string  $merge = false) : void

Writes a config key.

Parameters

string|array $key

Key to write to.

mixed $value

Value to write.

boolean|string $merge

True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.

Throws

\Cake\Core\Exception\Exception

if attempting to clobber existing config

_configDelete()

_configDelete(string  $key) : void

Deletes a single config key.

Parameters

string $key

Key to delete.

Throws

\Cake\Core\Exception\Exception

if attempting to clobber existing config

_bufferResponseLines()

_bufferResponseLines(array  $responseLines) : void

Parses and stores the response lines in `'code' => 'message'` format.

Parameters

array $responseLines

Response lines to parse.

_connect()

_connect() : void

Connect to SMTP Server

Throws

\Cake\Network\Exception\SocketException

_auth()

_auth() : void

Send authentication

Throws

\Cake\Network\Exception\SocketException

_prepareFromCmd()

_prepareFromCmd(string  $email) : string

Prepares the `MAIL FROM` SMTP command.

Parameters

string $email

The email address to send with the command.

Returns

string

_prepareRcptCmd()

_prepareRcptCmd(string  $email) : string

Prepares the `RCPT TO` SMTP command.

Parameters

string $email

The email address to send with the command.

Returns

string

_prepareFromAddress()

_prepareFromAddress(\Cake\Mailer\Email  $email) : array

Prepares the `from` email address.

Parameters

\Cake\Mailer\Email $email

Email instance

Returns

array

_prepareRecipientAddresses()

_prepareRecipientAddresses(\Cake\Mailer\Email  $email) : array

Prepares the recipient email addresses.

Parameters

\Cake\Mailer\Email $email

Email instance

Returns

array

_prepareMessageHeaders()

_prepareMessageHeaders(\Cake\Mailer\Email  $email) : array

Prepares the message headers.

Parameters

\Cake\Mailer\Email $email

Email instance

Returns

array

_prepareMessage()

_prepareMessage(\Cake\Mailer\Email  $email) : string

Prepares the message body.

Parameters

\Cake\Mailer\Email $email

Email instance

Returns

string

_sendRcpt()

_sendRcpt(\Cake\Mailer\Email  $email) : void

Send emails

Parameters

\Cake\Mailer\Email $email

Cake Email

Throws

\Cake\Network\Exception\SocketException

_sendData()

_sendData(\Cake\Mailer\Email  $email) : void

Send Data

Parameters

\Cake\Mailer\Email $email

Email instance

Throws

\Cake\Network\Exception\SocketException

_disconnect()

_disconnect() : void

Disconnect

Throws

\Cake\Network\Exception\SocketException

_generateSocket()

_generateSocket() : void

Helper method to generate socket

Throws

\Cake\Network\Exception\SocketException

_smtpSend()

_smtpSend(string|null  $data, string|boolean  $checkCode = '250') : string|null

Protected method for sending data to SMTP connection

Parameters

string|null $data

Data to be sent to SMTP server

string|boolean $checkCode

Code to check for in server response, false to skip

Throws

\Cake\Network\Exception\SocketException

Returns

string|null —

The matched code, or null if nothing matched