On this page
Class SmtpTransport
Send mail using SMTP protocol
- Cake\Mailer\AbstractTransport uses Cake\Core\InstanceConfigTrait
 Cake\Mailer\Transport\SmtpTransport Cake\Mailer\Transport\SmtpTransport
Properties summary
- 
    $_contentprotectedContent of email to returnstring
- 
    $_defaultConfigprotectedDefault config for this classarray
- 
    $_lastResponseprotectedThe response of the last sent SMTP command.array
- 
    Socket to SMTP server$_socketprotected
Inherited Properties
Method Summary
- 
    __destruct() publicDestructor
- 
    _auth() protectedSend authentication
- 
    _bufferResponseLines() protectedParses and stores the response lines in'code' => 'message'format.
- 
    _connect() protectedConnect to SMTP Server
- 
    _disconnect() protectedDisconnect
- 
    _generateSocket() protectedHelper method to generate socket
- 
    _prepareFromAddress() protectedPrepares thefromemail address.
- 
    _prepareFromCmd() protectedPrepares theMAIL FROMSMTP command.
- 
    _prepareMessage() protectedPrepares the message body.
- 
    _prepareMessageHeaders() protectedPrepares the message headers.
- 
    _prepareRcptCmd() protectedPrepares theRCPT TOSMTP command.
- 
    _prepareRecipientAddresses() protectedPrepares the recipient email addresses.
- 
    _sendData() protectedSend Data
- 
    _sendRcpt() protectedSend emails
- 
    _smtpSend() protectedProtected method for sending data to SMTP connection
- 
    connect() publicConnect to the SMTP server.
- 
    connected() publicCheck whether an open connection to the SMTP server is available.
- 
    disconnect() publicDisconnect from the SMTP server.
- 
    getLastResponse() publicReturns the response of the last sent SMTP command.
- 
    send() publicSend mail
Method Detail
__destruct()source public
__destruct( )Destructor
Tries to disconnect to ensure that the connection is being terminated properly before the socket gets closed.
_bufferResponseLines()source protected
_bufferResponseLines( array $responseLines )Parses and stores the response lines in 'code' => 'message' format.
Parameters
- 
     array $responseLines
- Response lines to parse.
_connect()source protected
_connect( )Connect to SMTP Server
Throws
Cake\Network\Exception\SocketException_disconnect()source protected
_disconnect( )Disconnect
Throws
Cake\Network\Exception\SocketException_generateSocket()source protected
_generateSocket( )Helper method to generate socket
Throws
Cake\Network\Exception\SocketException_prepareFromAddress()source protected
_prepareFromAddress( Cake\Mailer\Email $email )Prepares the from email address.
Parameters
- Cake\Mailer\Email- $email
- Email instance
Returns
array_prepareFromCmd()source protected
_prepareFromCmd( string $email )Prepares the MAIL FROM SMTP command.
Parameters
- 
     string $email
- The email address to send with the command.
Returns
string_prepareMessage()source protected
_prepareMessage( Cake\Mailer\Email $email )Prepares the message body.
Parameters
- Cake\Mailer\Email- $email
- Email instance
Returns
string_prepareMessageHeaders()source protected
_prepareMessageHeaders( Cake\Mailer\Email $email )Prepares the message headers.
Parameters
- Cake\Mailer\Email- $email
- Email instance
Returns
array_prepareRcptCmd()source protected
_prepareRcptCmd( string $email )Prepares the RCPT TO SMTP command.
Parameters
- 
     string $email
- The email address to send with the command.
Returns
string_prepareRecipientAddresses()source protected
_prepareRecipientAddresses( Cake\Mailer\Email $email )Prepares the recipient email addresses.
Parameters
- Cake\Mailer\Email- $email
- Email instance
Returns
array_sendData()source protected
_sendData( Cake\Mailer\Email $email )Send Data
Parameters
- Cake\Mailer\Email- $email
- Email instance
Throws
Cake\Network\Exception\SocketException_sendRcpt()source protected
_sendRcpt( Cake\Mailer\Email $email )Send emails
Parameters
- Cake\Mailer\Email- $email
- Cake Email
Throws
Cake\Network\Exception\SocketException_smtpSend()source protected
_smtpSend( string|null $data , string|boolean $checkCode '250' )Protected method for sending data to SMTP connection
Parameters
- 
     string|null $data
- Data to be sent to SMTP server
- 
     string|boolean $checkCodeoptional '250'
- Code to check for in server response, false to skip
Returns
string|nullThe matched code, or null if nothing matched
Throws
Cake\Network\Exception\SocketExceptionconnect()source public
connect( )Connect to the SMTP server.
This method tries to connect only in case there is no open connection available already.
connected()source public
connected( )Check whether an open connection to the SMTP server is available.
Returns
booleandisconnect()source public
disconnect( )Disconnect from the SMTP server.
This method tries to disconnect only in case there is an open connection available.
getLastResponse()source 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
arraysend()source public
send( Cake\Mailer\Email $email )Send mail
Parameters
- Cake\Mailer\Email- $email
- Email instance
Returns
arrayThrows
Cake\Network\Exception\SocketExceptionMethods inherited from Cake\Mailer\AbstractTransport
__construct()source public
__construct( array $config [] )Constructor
Parameters
- 
     array $configoptional []
- Configuration options.
_headersToString()source protected
_headersToString( array $headers , string $eol "\r\n" )Help to convert headers in string
Parameters
- 
     array $headers
- Headers in format key => value
- 
     string $eoloptional "\r\n"
- End of line string.
Returns
stringMethods used from Cake\Core\InstanceConfigTrait
_configDelete()source protected
_configDelete( string $key )Delete a single config key
Parameters
- 
     string $key
- Key to delete.
Throws
Cake\Core\Exception\Exceptionif attempting to clobber existing config
_configRead()source protected
_configRead( string|null $key )Read a config variable
Parameters
- 
     string|null $key
- Key to read.
Returns
mixed_configWrite()source protected
_configWrite( string|array $key , mixed $value , boolean|string $merge false )Write a config variable
Parameters
- 
     string|array $key
- Key to write to.
- 
     mixed $value
- Value to write.
- 
     boolean|string $mergeoptional false
- 
     True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false. 
Throws
Cake\Core\Exception\Exceptionif attempting to clobber existing config
config()source public
config( string|array|null $key null , mixed|null $value null , boolean $merge true )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 $keyoptional null
- The key to get/set, or a complete array of configs.
- 
     mixed|null $valueoptional null
- The value to set.
- 
     boolean $mergeoptional true
- Whether to recursively merge or overwrite existing config, defaults to true.
Returns
mixedConfig value being read, or the object itself on write operations.
Throws
Cake\Core\Exception\ExceptionWhen trying to set a key that is invalid.
configShallow()source public
configShallow( string|array $key , mixed|null $value null )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->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 $key
- The key to set, or a complete array of configs.
- 
     mixed|null $valueoptional null
- The value to set.
Returns
$this The object itself.
Properties detail
$_defaultConfigsource
protected array
Default config for this class
[
    'host' => 'localhost',
    'port' => 25,
    'timeout' => 30,
    'username' => null,
    'password' => null,
    'client' => null,
    'tls' => false,
    'keepAlive' => false
]© 2005–2016 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.
 http://api.cakephp.org/3.2/class-Cake.Mailer.Transport.SmtpTransport.html