Class CakeEmail
CakePHP email class.
This class is used for handling Internet Message Format based based on the standard outlined in http://www.rfc-editor.org/rfc/rfc2822.txt
Copyright: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
License: MIT License
Located at Cake/Network/Email/CakeEmail.php
Method Detail
__constructsource public
__construct( array|string $config null )
Constructor
Parameters
- array|string
$config
optional null - Array of configs, or string to load configs from email.php
_addEmailsource protected
_addEmail( string $varName , string|array $email , string $name )
Add email
Parameters
- string
$varName
- Property name
- string|array
$email
- String with email, Array with email as key, name as value or email as value (without name)
- string
$name
- Name
Returns
self
self
Throws
SocketException
SocketException
_applyConfigsource protected
_applyConfig( array $config )
Apply the config to an instance
Parameters
- array
$config
- Configuration options.
Throws
ConfigureException
When configuration file cannot be found, or is missing the named config.
_attachFilessource protected
_attachFiles( string $boundary null )
Attach non-embedded files by adding file contents inside boundaries.
Parameters
- string
$boundary
optional null - Boundary to use. If null, will default to $this->_boundary
Returns
array
An array of lines to add to the message
_attachInlineFilessource protected
_attachInlineFiles( string $boundary null )
Attach inline/embedded files to the message.
Parameters
- string
$boundary
optional null - Boundary to use. If null, will default to $this->_boundary
Returns
array
An array of lines to add to the message
_encodesource protected
_encode( string $text )
Encode the specified string using the current charset
Parameters
- string
$text
- String to encode
Returns
string
Encoded string
_encodeStringsource protected
_encodeString( string $text , string $charset )
Translates a string for one charset to another if the App.encoding value differs and the mb_convert_encoding function exists
Parameters
- string
$text
- The text to be converted
- string
$charset
- the target encoding
Returns
string
string
_formatAddresssource protected
_formatAddress( array $address )
Format addresses
If the address contains non alphanumeric/whitespace characters, it will be quoted as characters like :
and ,
are known to cause issues in address header fields.
Parameters
- array
$address
- Addresses to format.
Returns
array
array
_getContentTransferEncodingsource protected
_getContentTransferEncoding( )
Return the Content-Transfer Encoding value based on the set charset
Returns
string
string
_getContentTypeCharsetsource protected
_getContentTypeCharset( )
Return charset value for Content-Type.
Checks fallback/compatibility types which include workarounds for legacy japanese character sets.
Returns
string
string
_getTypessource protected
_getTypes( )
Gets the text body types that are in this email message
Returns
array
Array of types. Valid types are 'text' and 'html'
_readFilesource protected
_readFile( string $path )
Read the file contents and return a base64 version of the file contents.
Parameters
- string
$path
- The absolute path to the file to read.
Returns
string
File contents in base64 encoding
_rendersource protected
_render( array $content )
Render the body of the email.
Parameters
- array
$content
- Content to render
Returns
array
Email body ready to be sent
_renderTemplatessource protected
_renderTemplates( string $content )
Build and set all the view properties needed to render the templated emails. If there is no template set, the $content will be returned in a hash of the text content types for the email.
Parameters
- string
$content
- The content passed in from send() in most cases.
Returns
array
The rendered content with html and text keys.
_setEmailsource protected
_setEmail( string $varName , string|array $email , string $name )
Set email
Parameters
- string
$varName
- Property name
- string|array
$email
- String with email, Array with email as key, name as value or email as value (without name)
- string
$name
- Name
Returns
self
self
_setEmailSinglesource protected
_setEmailSingle( string $varName , string|array $email , string $name , string $throwMessage )
Set only 1 email
Parameters
- string
$varName
- Property name
- string|array
$email
- String with email, Array with email as key, name as value or email as value (without name)
- string
$name
- Name
- string
$throwMessage
- Exception message
Returns
self
self
Throws
SocketException
SocketException
_validateEmailsource protected
_validateEmail( string $email )
Validate email address
Parameters
- string
$email
Throws
SocketException
If email address does not validate
_wrapsource protected
_wrap( string $message , integer $wrapLength CakeEmail::LINE_LENGTH_MUST )
Wrap the message to follow the RFC 2822 - 2.1.1
Parameters
- string
$message
- Message to wrap
- integer
$wrapLength
optionalCakeEmail::LINE_LENGTH_MUST
- The line length
Returns
array
Wrapped message
addAttachmentssource public
addAttachments( string|array $attachments )
Add attachments
Parameters
- string|array
$attachments
- String with the filename or array with filenames
Returns
self
self
Throws
SocketException
SocketException
See
CakeEmail::attachments()
addBccsource public
addBcc( string|array $email , string $name null )
Add Bcc
Parameters
- string|array
$email
- Null to get, String with email, Array with email as key, name as value or email as value (without name)
- string
$name
optional null - Name
Returns
self
self
addCcsource public
addCc( string|array $email , string $name null )
Add Cc
Parameters
- string|array
$email
- Null to get, String with email, Array with email as key, name as value or email as value (without name)
- string
$name
optional null - Name
Returns
self
self
addHeaderssource public
addHeaders( array $headers )
Add header for the message
Parameters
- array
$headers
- Headers to set.
Returns
self
self
Throws
SocketException
SocketException
addTosource public
addTo( string|array $email , string $name null )
Add To
Parameters
- string|array
$email
- Null to get, String with email, Array with email as key, name as value or email as value (without name)
- string
$name
optional null - Name
Returns
self
self
attachmentssource public
attachments( string|array $attachments null )
Add attachments to the email message
Attachments can be defined in a few forms depending on how much control you need:
Attach a single file:
$email->attachments('path/to/file');
Attach a file with a different filename:
$email->attachments(array('custom_name.txt' => 'path/to/file.txt'));
Attach a file and specify additional properties:
$email->attachments(array('custom_name.png' => array( 'file' => 'path/to/file', 'mimetype' => 'image/png', 'contentId' => 'abc123', 'contentDisposition' => false ));
Attach a file from string and specify additional properties:
$email->attachments(array('custom_name.png' => array( 'data' => file_get_contents('path/to/file'), 'mimetype' => 'image/png' ));
The contentId
key allows you to specify an inline attachment. In your email text, you can use <img src="cid:abc123" />
to display the image inline.
The contentDisposition
key allows you to disable the Content-Disposition
header, this can improve attachment compatibility with outlook email clients.
Parameters
- string|array
$attachments
optional null - String with the filename or array with filenames
Returns
array|self
Either the array of attachments when getting or $this when setting.
Throws
SocketException
SocketException
bccsource public
bcc( string|array $email null , string $name null )
Bcc
Parameters
- string|array
$email
optional null - Null to get, String with email, Array with email as key, name as value or email as value (without name)
- string
$name
optional null - Name
Returns
array|self
array|self
ccsource public
cc( string|array $email null , string $name null )
Cc
Parameters
- string|array
$email
optional null - Null to get, String with email, Array with email as key, name as value or email as value (without name)
- string
$name
optional null - Name
Returns
array|self
array|self
charsetsource public
charset( string $charset null )
Charset setter/getter
Parameters
- string
$charset
optional null - Character set.
Returns
string
this->charset
configsource public
config( string|array $config null )
Configuration to use when send email
Usage
Load configuration from app/Config/email.php
:
$email->config('default');
Merge an array of configuration into the instance:
$email->config(array('to' => '[email protected]'));
Parameters
- string|array
$config
optional null - String with configuration name (from email.php), array with config or null to return current config
Returns
string|array|self
string|array|self
deliversource public static
deliver( string|array $to null , string $subject null , string|array $message null , string|array $transportConfig 'fast' , boolean $send true )
Static method to fast create an instance of CakeEmail
Parameters
- string|array
$to
optional null - Address to send (see CakeEmail::to()). If null, will try to use 'to' from transport config
- string
$subject
optional null - String of subject or null to use 'subject' from transport config
- string|array
$message
optional null - String with message or array with variables to be used in render
- string|array
$transportConfig
optional 'fast' - String to use config from EmailConfig or array with configs
- boolean
$send
optional true - Send the email or just return the instance pre-configured
Returns
self
Instance of CakeEmail
Throws
SocketException
SocketException
domainsource public
domain( string $domain null )
Domain as top level (the part after @)
Parameters
- string
$domain
optional null - Manually set the domain for CLI mailing
Returns
string|self
string|self
emailFormatsource public
emailFormat( string $format null )
Email format
Parameters
- string
$format
optional null - Formatting string.
Returns
string|self
string|self
Throws
SocketException
SocketException
emailPatternsource public
emailPattern( string|boolean|null $regex false )
EmailPattern setter/getter
Parameters
- string|boolean|null
$regex
optional false - The pattern to use for email address validation, null to unset the pattern and make use of filter_var() instead, false or nothing to return the current value
Returns
string|self
string|self
fromsource public
from( string|array $email null , string $name null )
From
Parameters
- string|array
$email
optional null - Null to get, String with email, Array with email as key, name as value or email as value (without name)
- string
$name
optional null - Name
Returns
array|CakeEmail
array|CakeEmail
Throws
SocketException
SocketException
getHeaderssource public
getHeaders( array $include array() )
Get list of headers
Includes:
from
replyTo
readReceipt
returnPath
to
cc
bcc
subject
Parameters
- array
$include
optional array() - List of headers.
Returns
array
array
headerCharsetsource public
headerCharset( string $charset null )
HeaderCharset setter/getter
Parameters
- string
$charset
optional null - Character set.
Returns
string
this->charset
helperssource public
helpers( array $helpers null )
Helpers to be used in render
Parameters
- array
$helpers
optional null - Helpers list.
Returns
array|self
array|self
messagesource public
message( string $type null )
Get generated message (used by transport classes)
Parameters
- string
$type
optional null - Use MESSAGE_* constants or null to return the full message as array
Returns
string|array
String if have type, array if type is null
messageIdsource public
messageId( boolean|string $message null )
Message-ID
Parameters
- boolean|string
$message
optional null - True to generate a new Message-ID, False to ignore (not send in email), String to set as Message-ID
Returns
boolean|string|self
bool|string|self
Throws
SocketException
SocketException
readReceiptsource public
readReceipt( string|array $email null , string $name null )
Read Receipt (Disposition-Notification-To header)
Parameters
- string|array
$email
optional null - Null to get, String with email, Array with email as key, name as value or email as value (without name)
- string
$name
optional null - Name
Returns
array|CakeEmail
array|CakeEmail
Throws
SocketException
SocketException
replyTosource public
replyTo( string|array $email null , string $name null )
Reply-To
Parameters
- string|array
$email
optional null - Null to get, String with email, Array with email as key, name as value or email as value (without name)
- string
$name
optional null - Name
Returns
array|CakeEmail
array|CakeEmail
Throws
SocketException
SocketException
resetsource public
reset( )
Reset all CakeEmail internal variables to be able to send out a new email.
Returns
self
self
returnPathsource public
returnPath( string|array $email null , string $name null )
Return Path
Parameters
- string|array
$email
optional null - Null to get, String with email, Array with email as key, name as value or email as value (without name)
- string
$name
optional null - Name
Returns
array|CakeEmail
array|CakeEmail
Throws
SocketException
SocketException
sendsource public
send( string|array $content null )
Send an email using the specified content, template and layout
Parameters
- string|array
$content
optional null - String with message or array with messages
Returns
array
array
Throws
SocketException
SocketException
sendersource public
sender( string|array $email null , string $name null )
Sender
Parameters
- string|array
$email
optional null - Null to get, String with email, Array with email as key, name as value or email as value (without name)
- string
$name
optional null - Name
Returns
array|CakeEmail
array|CakeEmail
Throws
SocketException
SocketException
setHeaderssource public
setHeaders( array $headers )
Sets headers for the message
Parameters
- array
$headers
- Associative array containing headers to be set.
Returns
self
self
Throws
SocketException
SocketException
subjectsource public
subject( string $subject null )
Get/Set Subject.
Parameters
- string
$subject
optional null - Subject string.
Returns
string|self
string|self
templatesource public
template( boolean|string $template false , boolean|string $layout false )
Template and layout
Parameters
- boolean|string
$template
optional false - Template name or null to not use
- boolean|string
$layout
optional false - Layout name or null to not use
Returns
array|self
array|self
themesource public
theme( string $theme null )
Theme to use when rendering
Parameters
- string
$theme
optional null - Theme name.
Returns
string|self
string|self
tosource public
to( string|array $email null , string $name null )
To
Parameters
- string|array
$email
optional null - Null to get, String with email, Array with email as key, name as value or email as value (without name)
- string
$name
optional null - Name
Returns
array|self
array|self
transportsource public
transport( string $name null )
Transport name
Parameters
- string
$name
optional null - Transport name.
Returns
string|self
string|self
transportClasssource public
transportClass( )
Return the transport class
Returns
AbstractTransport
AbstractTransport
Throws
SocketException
SocketException
viewRendersource public
viewRender( string $viewClass null )
View class for render
Parameters
- string
$viewClass
optional null - View class name.
Returns
string|self
string|self
viewVarssource public
viewVars( array $viewVars null )
Variables to be set on render
Parameters
- array
$viewVars
optional null - Variables to set for view.
Returns
array|self
array|self
Constants summary
string | EMAIL_CLIENT Default X-Mailer | 'CakePHP Email' |
string | EMAIL_PATTERN Holds the regex pattern for email validation | '/^((?:[\p{L}0-9.!#$%&\'*+\/=?^_`{|}~-]+)*@[\p{L}0-9-.]+)$/ui' |
integer | LINE_LENGTH_MUST Line length - no must more - RFC 2822 - 2.1.1 | 998 |
integer | LINE_LENGTH_SHOULD Line length - no should more - RFC 2822 - 2.1.1 | 78 |
string | MESSAGE_HTML Type of message - HTML | 'html' |
string | MESSAGE_TEXT Type of message - TEXT | 'text' |
Properties summary
© 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/2.7/class-CakeEmail.html