Class SmtpTransport
Send mail using SMTP protocol
Properties summary
- $_config protected
array
Runtime config
- $_configInitialized protected
bool
Whether the config property has already been configured with defaults
- $_content protected
array
Content of email to return
- $_defaultConfig protected
array
Default config for this class
- $_lastResponse protected
array
The response of the last sent SMTP command.
- $_socket protected
\Cake\Network\Socket|null
Socket to SMTP server
Method Summary
- _bufferResponseLines() protected
Parses and stores the response lines in
'code' => 'message'
format. - configShallow() public
Merge provided config with existing config. Unlike
config()
which does a recursive merge for nested keys, this method does a simple merge.
Method Detail
__construct() public
__construct(array $config)
Constructor
Parameters
-
array
$config optional Configuration options.
__destruct() public
__destruct()
Destructor
Tries to disconnect to ensure that the connection is being terminated properly before the socket gets closed.
__wakeup() public
__wakeup()
Unserialize handler.
Ensure that the socket property isn't reinitialized in a broken state.
_auth() protected
_auth()
Send authentication
Throws
Cake\Network\Exception\SocketException
_authLogin() protected
_authLogin(string $username, string $password)
Authenticate using AUTH LOGIN mechanism.
Parameters
-
string
$username Username.
-
string
$password Password.
_authPlain() protected
_authPlain(string $username, string $password)
Authenticate using AUTH PLAIN mechanism.
Parameters
-
string
$username Username.
-
string
$password Password.
Returns
string|null
Response code for the command.
_bufferResponseLines() protected
_bufferResponseLines(array $responseLines)
Parses and stores the response lines in 'code' => 'message'
format.
Parameters
-
string[]
$responseLines Response lines to parse.
_configDelete() protected
_configDelete(string $key)
Deletes a single config key.
Parameters
-
string
$key Key to delete.
Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config
_configRead() protected
_configRead(?string $key)
Reads a config key.
Parameters
-
string|null
$key Key to read.
Returns
mixed
_configWrite() protected
_configWrite(mixed $key, mixed $value, mixed $merge)
Writes a config key.
Parameters
-
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.
Throws
Cake\Core\Exception\Exception
if attempting to clobber existing config
_connect() protected
_connect()
Connect to SMTP Server
Throws
Cake\Network\Exception\SocketException
_disconnect() protected
_disconnect()
Disconnect
Throws
Cake\Network\Exception\SocketException
_generateSocket() protected
_generateSocket()
Helper method to generate socket
Throws
Cake\Network\Exception\SocketException
_prepareFromAddress() protected
_prepareFromAddress(\Cake\Mailer\Message $message)
Prepares the from
email address.
Parameters
-
\Cake\Mailer\Message
$message Message instance
Returns
array
_prepareFromCmd() protected
_prepareFromCmd(string $message)
Prepares the MAIL FROM
SMTP command.
Parameters
-
string
$message The email address to send with the command.
Returns
string
_prepareMessage() protected
_prepareMessage(\Cake\Mailer\Message $message)
Prepares the message body.
Parameters
-
\Cake\Mailer\Message
$message Message instance
Returns
string
_prepareRcptCmd() protected
_prepareRcptCmd(string $message)
Prepares the RCPT TO
SMTP command.
Parameters
-
string
$message The email address to send with the command.
Returns
string
_prepareRecipientAddresses() protected
_prepareRecipientAddresses(\Cake\Mailer\Message $message)
Prepares the recipient email addresses.
Parameters
-
\Cake\Mailer\Message
$message Message instance
Returns
array
_sendData() protected
_sendData(\Cake\Mailer\Message $message)
Send Data
Parameters
-
\Cake\Mailer\Message
$message Message message
Throws
Cake\Network\Exception\SocketException
_sendRcpt() protected
_sendRcpt(\Cake\Mailer\Message $message)
Send emails
Parameters
-
\Cake\Mailer\Message
$message Message message
Throws
Cake\Network\Exception\SocketException
_smtpSend() protected
_smtpSend(?string $data, mixed $checkCode)
Protected method for sending data to SMTP connection
Parameters
-
string|null
$data Data to be sent to SMTP server
-
string|false
$checkCode optional Code to check for in server response, false to skip
Returns
string|null
The matched code, or null if nothing matched
Throws
Cake\Network\Exception\SocketException
_socket() protected
_socket()
Get socket instance.
Returns
\Cake\Network\Socket
Throws
RuntimeException
If socket is not set.
checkRecipient() protected
checkRecipient(\Cake\Mailer\Message $message)
Check that at least one destination header is set.
Parameters
-
\Cake\Mailer\Message
$message Message instance.
Throws
Cake\Core\Exception\Exception
If at least one of to, cc or bcc is not specified.
configShallow() public
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']);
Parameters
-
string|array
$key The key to set, or a complete array of configs.
-
mixed|null
$value optional The value to set.
Returns
$this
connect() public
connect()
Connect to the SMTP server.
This method tries to connect only in case there is no open connection available already.
connected() public
connected()
Check whether an open connection to the SMTP server is available.
Returns
bool
disconnect() public
disconnect()
Disconnect from the SMTP server.
This method tries to disconnect only in case there is an open connection available.
getConfig() public
getConfig(?string $key, mixed $default)
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 optional The key to get or null for the whole config.
-
mixed
$default optional The return value when the key does not exist.
Returns
mixed
Configuration data at the named key or null if the key does not exist.
getConfigOrFail() public
getConfigOrFail(string $key)
Returns the config for this specific key.
The config value for this key must exist, it can never be null.
Parameters
-
string
$key The key to get.
Returns
mixed
Configuration data at the named key
Throws
InvalidArgumentException
getLastResponse() public
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... ]
Returns
array
send() public
send(\Cake\Mailer\Message $message)
Send mail
Parameters
-
\Cake\Mailer\Message
$message Message instance
Returns
array
Throws
Cake\Network\Exception\SocketException
setConfig() public
setConfig(mixed $key, mixed $value, mixed $merge)
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 optional The value to set.
-
bool
$merge optional Whether to recursively merge or overwrite existing config, defaults to true.
Returns
$this
Throws
Cake\Core\Exception\Exception
When trying to set a key that is invalid.
Property Detail
$_config protected
Runtime config
Type
array
$_configInitialized protected
Whether the config property has already been configured with defaults
Type
bool
$_content protected
Content of email to return
Type
array
$_defaultConfig protected
Default config for this class
Type
array
$_lastResponse protected
The response of the last sent SMTP command.
Type
array
$_socket protected
Socket to SMTP server
Type
\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