Class EmailComponent
EmailComponent
This component is used for handling Internet Message Format based based on the standard outlined in http://www.rfc-editor.org/rfc/rfc2822.txt
- CakeObject
- Component
- EmailComponent
Link: https://book.cakephp.org/2.0/en/core-libraries/components/email.html
Link: https://book.cakephp.org/2.0/en/core-utility-libraries/email.html
Deprecated: 3.0.0 Will be removed in 3.0. Use Network/CakeEmail instead
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Controller/Component/EmailComponent.php
Properties summary
-
$_controller
protectedController reference -
$additionalParams
publicstring
List of additional headers -
$attachments
publicarray
List of files that should be attached to the email. -
$bcc
publicarray
Blind Carbon Copy -
$cc
publicarray
Carbon Copy -
$charset
publicstring
charset the email is sent in -
$date
publicstring
The date to put in the Date: header. This should be a date conforming with the RFC2822 standard. Leave null, to have today's date generated.
-
$delivery
publicstring
What method should the email be sent by -
$filePaths
publicarray
The list of paths to search if an attachment isn't absolute -
$from
publicstring
The mail which the email is sent from -
$headers
publicarray
Associative array of a user defined headers Keys will be prefixed 'X-' as per RFC2822 Section 4.7.5
-
$htmlMessage
publicstring
Contains the rendered HTML message if one was sent. -
$layout
publicstring
Layout for the View -
$lineFeed
publicstring
Line feed character(s) to be used when sending using mail() function By default PHP_EOL is used. RFC2822 requires it to be CRLF but some Unix mail transfer agents replace LF by CRLF automatically (which leads to doubling CR if CRLF is used).
-
$messageId
publicmixed
Whether to generate a Message-ID header for the e-mail. True to generate a Message-ID, False to let it be handled by sendmail (or similar) or a string to completely override the Message-ID.
-
$readReceipt
publicstring
The read receipt email -
$replyTo
publicstring
The email the recipient will reply to -
$return
publicstring
The mail that will be used in case of any errors like - Remote mailserver down - Remote user has exceeded his quota - Unknown user
-
$sendAs
publicstring
What format should the email be sent in -
$smtpOptions
publicarray
List of options to use for smtp mail method -
$subject
publicstring
The subject of the email -
$template
publicstring
Template for the view -
$textMessage
publicstring
Contains the rendered plain text message if one was sent. -
$to
publicstring
Recipient of the email -
$xMailer
publicstring
What mailer should EmailComponent identify itself as
Inherited Properties
Method Summary
-
__construct() public deprecated
Constructor -
_findFiles() protected deprecated
Find the specified attachment in the list of file paths -
_formatAddresses() protected deprecated
Format addresses to be an array with email as key and alias as value -
_formatAttachFiles() protected deprecated
Format the attach array -
_strip() protected deprecated
Remove certain elements (such as bcc:, to:, %0a) from given value. Helps prevent header injection / manipulation on user content.
-
initialize() public deprecated
Initialize component -
reset() public deprecated
Reset all EmailComponent internal variables to be able to send out a new email. -
send() public deprecated
Send an email using the specified content, template and layout
Method Detail
__construct() public deprecated ¶
__construct( ComponentCollection
$collection , array $settings = array() )
Constructor
Parameters
-
ComponentCollection
$collection - A ComponentCollection this component can use to lazy load its components
- array $settings optional array()
- Array of configuration settings.
Overrides
_findFiles() protected deprecated ¶
_findFiles( string $attachment )
Find the specified attachment in the list of file paths
Parameters
- string $attachment
- Attachment file name to find
Returns
Path to located file
_formatAddresses() protected deprecated ¶
_formatAddresses( array $addresses )
Format addresses to be an array with email as key and alias as value
Parameters
- array $addresses
- Address to format.
Returns
_formatAttachFiles() protected deprecated ¶
_formatAttachFiles( )
Format the attach array
Returns
_strip() protected deprecated ¶
_strip( string $value , boolean $message = false )
Remove certain elements (such as bcc:, to:, %0a) from given value. Helps prevent header injection / manipulation on user content.
Parameters
- string $value
- Value to strip
- boolean $message optional false
- Set to true to indicate main message content
Returns
Stripped value
initialize() public deprecated ¶
initialize( Controller
$controller )
reset() public deprecated ¶
reset( )
Reset all EmailComponent internal variables to be able to send out a new email.
send() public deprecated ¶
send( string|array $content = null , string $template = null , string $layout = null )
Send an email using the specified content, template and layout
Parameters
- string|array $content optional null
Either an array of text lines, or a string with contents If you are rendering a template this variable will be sent to the templates as
$content
- string $template optional null
- Template to use when sending email
- string $layout optional null
- Layout to use to enclose email body
Returns
Success
Methods inherited from Component
__get() public ¶
__get( string $name )
Magic method for lazy loading $components.
Parameters
- string $name
- Name of component to get.
Returns
A Component object or null.
beforeRedirect() public ¶
beforeRedirect( Controller
$controller , string|array $url , integer $status = null , boolean $exit = true )
Called before Controller::redirect(). Allows you to replace the URL that will be redirected to with a new URL. The return of this method can either be an array or a string.
If the return is an array and contains a 'url' key. You may also supply the following:
status
The status code for the redirectexit
Whether or not the redirect should exit.
If your response is a string or an array that does not contain a 'url' key it will be used as the new URL to redirect to.
Parameters
-
Controller
$controller - Controller with components to beforeRedirect
- string|array $url
- Either the string or URL array that is being redirected to.
- integer $status optional null
- The status code of the redirect
- boolean $exit optional true
- Will the script exit.
Returns
Either an array or null.
Link
beforeRender() public ¶
beforeRender( Controller
$controller )
Called before the Controller::beforeRender(), and before the view class is loaded, and before Controller::render()
Parameters
-
Controller
$controller - Controller with components to beforeRender
Link
shutdown() public ¶
shutdown( Controller
$controller )
Called after Controller::render() and before the output is printed to the browser.
Parameters
-
Controller
$controller - Controller with components to shutdown
Link
startup() public ¶
startup( Controller
$controller )
Called after the Controller::beforeFilter() and before the controller action
Parameters
-
Controller
$controller - Controller with components to startup
Link
Methods inherited from CakeObject
_mergeVars() protected ¶
_mergeVars( array $properties , string $class , boolean $normalize = true )
Merges this objects $property with the property in $class' definition. This classes value for the property will be merged on top of $class'
This provides some of the DRY magic CakePHP provides. If you want to shut it off, redefine this method as an empty function.
Parameters
- array $properties
- The name of the properties to merge.
- string $class
- The class to merge the property with.
- boolean $normalize optional true
- Set to true to run the properties through Hash::normalize() before merging.
_set() protected ¶
_set( array $properties = array() )
Allows setting of multiple properties of the object in a single line of code. Will only set properties that are part of a class declaration.
Parameters
- array $properties optional array()
- An associative array containing properties and corresponding values.
_stop() protected ¶
_stop( integer|string $status = 0 )
Stop execution of the current script. Wraps exit() making testing easier.
Parameters
- integer|string $status optional 0
- see http://php.net/exit for values
dispatchMethod() public ¶
dispatchMethod( string $method , array $params = array() )
Calls a method on this object with the given parameters. Provides an OO wrapper
for call_user_func_array
Parameters
- string $method
- Name of the method to call
- array $params optional array()
- Parameter list to use when calling $method
Returns
Returns the result of the method call
log() public ¶
log( mixed $msg , integer $type = LOG_ERR , null|string|array $scope = null )
Convenience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.
Parameters
- mixed $msg
- Log message
- integer $type optional LOG_ERR
- Error type constant. Defined in app/Config/core.php.
- null|string|array $scope optional null
The scope(s) a log message is being created in. See CakeLog::config() for more information on logging scopes.
Returns
Success of log write
requestAction() public ¶
requestAction( string|array $url , array $extra = array() )
Calls a controller's method from any location. Can be used to connect controllers together or tie plugins into a main application. requestAction can be used to return rendered views or fetch the return value from controller actions.
Under the hood this method uses Router::reverse() to convert the $url parameter into a string URL. You should use URL formats that are compatible with Router::reverse()
Passing POST and GET data
POST and GET data can be simulated in requestAction. Use $extra['url']
for
GET data. The $extra['data']
parameter allows POST data simulation.
Parameters
- string|array $url
String or array-based URL. Unlike other URL arrays in CakePHP, this URL will not automatically handle passed and named arguments in the $url parameter.
- array $extra optional array()
if array includes the key "return" it sets the AutoRender to true. Can also be used to submit GET/POST data, and named/passed arguments.
Returns
Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.
toString() public ¶
toString( )
CakeObject-to-string conversion. Each class can override this method as necessary.
Returns
The name of this class
Properties detail
$additionalParams ¶
List of additional headers
These will NOT be used if you are using safemode and mail()
null
$attachments ¶
List of files that should be attached to the email.
Can be both absolute and relative paths
array()
$bcc ¶
Blind Carbon Copy
List of email's that should receive a copy of the email. The Recipient WILL NOT be able to see this list
array()
$cc ¶
Carbon Copy
List of email's that should receive a copy of the email. The Recipient WILL be able to see this list
array()
$date ¶
The date to put in the Date: header. This should be a date conforming with the RFC2822 standard. Leave null, to have today's date generated.
null
$delivery ¶
What method should the email be sent by
Supported methods: - mail - smtp - debug
'mail'
$headers ¶
Associative array of a user defined headers Keys will be prefixed 'X-' as per RFC2822 Section 4.7.5
array()
$lineFeed ¶
Line feed character(s) to be used when sending using mail() function By default PHP_EOL is used. RFC2822 requires it to be CRLF but some Unix mail transfer agents replace LF by CRLF automatically (which leads to doubling CR if CRLF is used).
PHP_EOL
$messageId ¶
Whether to generate a Message-ID header for the e-mail. True to generate a Message-ID, False to let it be handled by sendmail (or similar) or a string to completely override the Message-ID.
If you are sending Email from a shell, be sure to set this value. As you could encounter delivery issues if you do not.
true
$return ¶
The mail that will be used in case of any errors like - Remote mailserver down - Remote user has exceeded his quota - Unknown user
null
$sendAs ¶
What format should the email be sent in
Supported formats: - text - html - both
'text'
$smtpOptions ¶
List of options to use for smtp mail method
Options is: - port - host - timeout - username - password - client
array()