Send mail using SMTP protocol
array
Runtime config
bool
Whether the config property has already been configured with defaults
array
Content of email to return
array
Default config for this class
array
The response of the last sent SMTP command.
\Cake\Network\Socket|null
Socket to SMTP server
Parses and stores the response lines in 'code' => 'message'
format.
Merge provided config with existing config. Unlike config()
which does a recursive merge for nested keys, this method does a simple merge.
__construct(array $config)
Constructor
array
$config optional Configuration options.
__destruct()
Destructor
Tries to disconnect to ensure that the connection is being terminated properly before the socket gets closed.
__wakeup()
Unserialize handler.
Ensure that the socket property isn't reinitialized in a broken state.
_auth()
Send authentication
Cake\Network\Exception\SocketException
_authLogin(string $username, string $password)
Authenticate using AUTH LOGIN mechanism.
string
$username Username.
string
$password Password.
_authPlain(string $username, string $password)
Authenticate using AUTH PLAIN mechanism.
string
$username Username.
string
$password Password.
string|null
Response code for the command.
_bufferResponseLines(array $responseLines)
Parses and stores the response lines in 'code' => 'message'
format.
string[]
$responseLines Response lines to parse.
_configDelete(string $key)
Deletes a single config key.
string
$key Key to delete.
Cake\Core\Exception\Exception
_configRead(?string $key)
Reads a config key.
string|null
$key Key to read.
mixed
_configWrite(mixed $key, mixed $value, mixed $merge)
Writes a config key.
string|array
$key Key to write to.
mixed
$value Value to write.
bool|string
$merge optional True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false.
Cake\Core\Exception\Exception
_connect()
Connect to SMTP Server
Cake\Network\Exception\SocketException
_disconnect()
Disconnect
Cake\Network\Exception\SocketException
_generateSocket()
Helper method to generate socket
Cake\Network\Exception\SocketException
_prepareFromAddress(\Cake\Mailer\Message $message)
Prepares the from
email address.
\Cake\Mailer\Message
$message Message instance
array
_prepareFromCmd(string $message)
Prepares the MAIL FROM
SMTP command.
string
$message The email address to send with the command.
string
_prepareMessage(\Cake\Mailer\Message $message)
Prepares the message body.
\Cake\Mailer\Message
$message Message instance
string
_prepareRcptCmd(string $message)
Prepares the RCPT TO
SMTP command.
string
$message The email address to send with the command.
string
_prepareRecipientAddresses(\Cake\Mailer\Message $message)
Prepares the recipient email addresses.
\Cake\Mailer\Message
$message Message instance
array
_sendData(\Cake\Mailer\Message $message)
Send Data
\Cake\Mailer\Message
$message Message message
Cake\Network\Exception\SocketException
_sendRcpt(\Cake\Mailer\Message $message)
Send emails
\Cake\Mailer\Message
$message Message message
Cake\Network\Exception\SocketException
_smtpSend(?string $data, mixed $checkCode)
Protected method for sending data to SMTP connection
string|null
$data Data to be sent to SMTP server
string|false
$checkCode optional Code to check for in server response, false to skip
string|null
The matched code, or null if nothing matched
Cake\Network\Exception\SocketException
_socket()
Get socket instance.
\Cake\Network\Socket
RuntimeException
checkRecipient(\Cake\Mailer\Message $message)
Check that at least one destination header is set.
\Cake\Mailer\Message
$message Message instance.
Cake\Core\Exception\Exception
configShallow(mixed $key, mixed $value)
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']);
string|array
$key The key to set, or a complete array of configs.
mixed|null
$value optional The value to set.
$this
connect()
Connect to the SMTP server.
This method tries to connect only in case there is no open connection available already.
connected()
Check whether an open connection to the SMTP server is available.
bool
disconnect()
Disconnect from the SMTP server.
This method tries to disconnect only in case there is an open connection available.
getConfig(?string $key, mixed $default)
Returns the config.
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');
string|null
$key optional The key to get or null for the whole config.
mixed
$default optional The return value when the key does not exist.
mixed
Configuration data at the named key or null if the key does not exist.
getConfigOrFail(string $key)
Returns the config for this specific key.
The config value for this key must exist, it can never be null.
string
$key The key to get.
mixed
Configuration data at the named key
InvalidArgumentException
getLastResponse()
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... ]
array
send(\Cake\Mailer\Message $message)
Send mail
\Cake\Mailer\Message
$message Message instance
array
Cake\Network\Exception\SocketException
setConfig(mixed $key, mixed $value, mixed $merge)
Sets the config.
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']);
string|array
$key The key to set, or a complete array of configs.
mixed|null
$value optional The value to set.
bool
$merge optional Whether to recursively merge or overwrite existing config, defaults to true.
$this
Cake\Core\Exception\Exception
Runtime config
array
Whether the config property has already been configured with defaults
bool
Content of email to return
array
Default config for this class
array
The response of the last sent SMTP command.
array
Socket to SMTP server
\Cake\Network\Socket|null
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.1/class-Cake.Mailer.Transport.SmtpTransport.html