Class CI_Email - echiong/testRepo GitHub Wiki
##Class CI_Email
CodeIgniter Email Class
Permits email to be sent using Mail, Sendmail, or SMTP.
Package: [[CodeIgniter<a href="Package CodeIgniter.Libraries.md">Libraries]]
Category:
Libraries
Author:
ExpressionEngine Dev Team
Link:
http://codeigniter.com/user_guide/libraries/email.html
Located at system/libraries/Email.php
##Methods summary
public __construct ( mixed $config = array() )
Constructor - Sets Email Preferences
The constructor can be passed an array of config values
public initialize ( array $config = array() )
Initialize preferences
Parameters
$config
array
public clear ( mixed $clear_attachments = FALSE )
Initialize the Email Data
public from ( string $from, string $name = '' )
Set FROM
Parameters
$from
string
$name
string
public reply_to ( string $replyto, string $name = '' )
Set Reply-to
Parameters
$replyto
string
$name
string
public to ( string $to )
Set Recipients
Parameters
$to
string
public cc ( string $cc )
Set CC
Parameters
$cc
string
public bcc ( string $bcc, string $limit = '' )
Set BCC
Parameters
$bcc
string
$limit
string
public subject ( string $subject )
Set Email Subject
Parameters
$subject
string
public message ( string $body )
Set Body
Parameters
$body
string
public attach ( string $filename, mixed $disposition = 'attachment' )
Assign file attachments
Parameters
$filename
string
$disposition
protected _set_header ( string $header, string $value )
Add a Header Item
Parameters
$header
string
$value
string
protected array _str_to_array ( string $email )
Convert a String to an Array
Parameters
$email
string
Returns
array
public set_alt_message ( string $str = '' )
Set Multipart Value
Parameters
$str
string
public set_mailtype ( string $type = 'text' )
Set Mailtype
Parameters
$type
string
public set_wordwrap ( string $wordwrap = TRUE )
Set Wordwrap
Parameters
$wordwrap
string
public set_protocol ( string $protocol = 'mail' )
Set Protocol
Parameters
$protocol
string
public set_priority ( integer $n = 3 )
Set Priority
Parameters
$n
integer
public set_newline ( string $newline = "\n" )
Set Newline Character
Parameters
$newline
string
public set_crlf ( string $crlf = "\n" )
Set CRLF
Parameters
$crlf
string
protected _set_boundaries ( )
Set Message Boundary
protected string _get_message_id ( )
Get the Message ID
Returns
string
protected string _get_protocol ( boolean $return = TRUE )
Get Mail Protocol
Parameters
$return
boolean
Returns
string
protected string _get_encoding ( boolean $return = TRUE )
Get Mail Encoding
Parameters
$return
boolean
Returns
string
protected string _get_content_type ( )
Get content type (text/html/attachment)
Returns
string
protected string _set_date ( )
Set RFC 822 Date
Returns
string
protected string _get_mime_message ( )
Mime message
Returns
string
public boolean validate_email ( string $email )
Validate Email Address
Parameters
$email
string
Returns
boolean
public boolean valid_email ( string $address )
Email Validation
Parameters
$address
string
Returns
boolean
public string clean_email ( string $email )
Clean Extended Email Address: Joe Smith <[email protected]>
Parameters
$email
string
Returns
string
protected string _get_alt_message ( )
Build alternative plain text message
This public function provides the raw message for use in plain-text headers of HTML-formatted emails. If the user hasn't specified his own alternative message it creates one by stripping the HTML
Returns
string
public string word_wrap ( string $str, integer $charlim = '' )
Word Wrap
Parameters
$str
string
$charlim
integer
Returns
string
protected string _build_headers ( )
Build final headers
Returns
string
protected _write_headers ( )
Write Headers as a string
protected _build_message ( )
Build Final Body and attachments
protected string _prep_quoted_printable ( string $str, integer $charlim = '' )
Prep Quoted Printable
Prepares string for Quoted-Printable Content-Transfer-Encoding Refer to RFC 2045 http://www.ietf.org/rfc/rfc2045.txt
Parameters
$str
string
$charlim
integer
Returns
string
protected str _prep_q_encoding ( str $str, boolean $from = FALSE )
Prep Q Encoding
Performs "Q Encoding" on a string for use in email headers. It's related but not identical to quoted-printable, so it has its own method
Parameters
$str
str
$from
boolean
// set to TRUE for processing From: headers
Returns
str
public boolean send ( )
Send Email
Returns
boolean
public boolean batch_bcc_send ( )
Batch Bcc Send. Sends groups of BCCs in batches
Returns
boolean
protected _unwrap_specials ( )
Unwrap special elements
protected string _remove_nl_callback ( mixed $matches )
Strip line-breaks via callback
Returns
string
protected boolean _spool_email ( )
Spool mail to the mail server
Returns
boolean
protected boolean _send_with_mail ( )
Send using mail()
Returns
boolean
protected boolean _send_with_sendmail ( )
Send using Sendmail
Returns
boolean
protected boolean _send_with_smtp ( )
Send using SMTP
Returns
boolean
protected string _smtp_connect ( )
SMTP Connect
Returns
string
protected string _send_command ( string $cmd, string $data = '' )
Send SMTP command
Parameters
$cmd
string
$data
string
Returns
string
protected boolean _smtp_authenticate ( )
SMTP Authenticate
Returns
boolean
protected boolean _send_data ( mixed $data )
Send SMTP data
Returns
boolean
protected string _get_smtp_data ( )
Get SMTP data
Returns
string
protected string _get_hostname ( )
Get Hostname
Returns
string
protected string _get_ip ( )
Get IP
Returns
string
public string print_debugger ( )
Get Debug Message
Returns
string
protected string _set_error_message ( string $msg, mixed $val = '' )
Set Message
Parameters
$msg
string
$val
Returns
string
protected string _mime_types ( string $ext = "" )
Mime Types
Parameters
$ext
string
Returns
string
<table class="summary" id="properties">
<caption>Properties summary</caption>
<tr data-order="useragent" id="$useragent">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$useragent
"CodeIgniter"
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="mailpath" id="$mailpath">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$mailpath
"/usr/sbin/sendmail"
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="protocol" id="$protocol">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$protocol
"mail"
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="smtp_host" id="$smtp_host">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$smtp_host
""
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="smtp_user" id="$smtp_user">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$smtp_user
""
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="smtp_pass" id="$smtp_pass">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$smtp_pass
""
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="smtp_port" id="$smtp_port">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$smtp_port
"25"
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="smtp_timeout" id="$smtp_timeout">
<td class="attributes"><code>
public
integer
</code></td>
<td class="name">
$smtp_timeout
5
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="smtp_crypto" id="$smtp_crypto">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$smtp_crypto
""
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="wordwrap" id="$wordwrap">
<td class="attributes"><code>
public
boolean
</code></td>
<td class="name">
$wordwrap
TRUE
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="wrapchars" id="$wrapchars">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$wrapchars
"76"
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="mailtype" id="$mailtype">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$mailtype
"text"
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="charset" id="$charset">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$charset
"utf-8"
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="multipart" id="$multipart">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$multipart
"mixed"
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="alt_message" id="$alt_message">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$alt_message
''
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="validate" id="$validate">
<td class="attributes"><code>
public
boolean
</code></td>
<td class="name">
$validate
FALSE
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="priority" id="$priority">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$priority
"3"
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="newline" id="$newline">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$newline
"\n"
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="crlf" id="$crlf">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$crlf
"\n"
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="send_multipart" id="$send_multipart">
<td class="attributes"><code>
public
boolean
</code></td>
<td class="name">
$send_multipart
TRUE
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="bcc_batch_mode" id="$bcc_batch_mode">
<td class="attributes"><code>
public
boolean
</code></td>
<td class="name">
$bcc_batch_mode
FALSE
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="bcc_batch_size" id="$bcc_batch_size">
<td class="attributes"><code>
public
integer
</code></td>
<td class="name">
$bcc_batch_size
200
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_safe_mode" id="$_safe_mode">
<td class="attributes"><code>
public
boolean
</code></td>
<td class="name">
$_safe_mode
FALSE
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_subject" id="$_subject">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$_subject
""
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_body" id="$_body">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$_body
""
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_finalbody" id="$_finalbody">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$_finalbody
""
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_alt_boundary" id="$_alt_boundary">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$_alt_boundary
""
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_atc_boundary" id="$_atc_boundary">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$_atc_boundary
""
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_header_str" id="$_header_str">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$_header_str
""
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_smtp_connect" id="$_smtp_connect">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$_smtp_connect
""
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_encoding" id="$_encoding">
<td class="attributes"><code>
public
string
</code></td>
<td class="name">
$_encoding
"8bit"
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_IP" id="$_IP">
<td class="attributes"><code>
public
boolean
</code></td>
<td class="name">
$_IP
FALSE
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_smtp_auth" id="$_smtp_auth">
<td class="attributes"><code>
public
boolean
</code></td>
<td class="name">
$_smtp_auth
FALSE
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_replyto_flag" id="$_replyto_flag">
<td class="attributes"><code>
public
boolean
</code></td>
<td class="name">
$_replyto_flag
FALSE
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_debug_msg" id="$_debug_msg">
<td class="attributes"><code>
public
array
</code></td>
<td class="name">
$_debug_msg
array()
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_recipients" id="$_recipients">
<td class="attributes"><code>
public
array
</code></td>
<td class="name">
$_recipients
array()
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_cc_array" id="$_cc_array">
<td class="attributes"><code>
public
array
</code></td>
<td class="name">
$_cc_array
array()
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_bcc_array" id="$_bcc_array">
<td class="attributes"><code>
public
array
</code></td>
<td class="name">
$_bcc_array
array()
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_headers" id="$_headers">
<td class="attributes"><code>
public
array
</code></td>
<td class="name">
$_headers
array()
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_attach_name" id="$_attach_name">
<td class="attributes"><code>
public
array
</code></td>
<td class="name">
$_attach_name
array()
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_attach_type" id="$_attach_type">
<td class="attributes"><code>
public
array
</code></td>
<td class="name">
$_attach_type
array()
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_attach_disp" id="$_attach_disp">
<td class="attributes"><code>
public
array
</code></td>
<td class="name">
$_attach_disp
array()
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_protocols" id="$_protocols">
<td class="attributes"><code>
public
array
</code></td>
<td class="name">
$_protocols
array('mail', 'sendmail', 'smtp')
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_base_charsets" id="$_base_charsets">
<td class="attributes"><code>
public
array
</code></td>
<td class="name">
$_base_charsets
array('us-ascii', 'iso-2022-')
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_bit_depths" id="$_bit_depths">
<td class="attributes"><code>
public
array
</code></td>
<td class="name">
$_bit_depths
array('7bit', '8bit')
<div class="description detailed">
</div>
</div></td>
</tr>
<tr data-order="_priorities" id="$_priorities">
<td class="attributes"><code>
public
array
</code></td>
<td class="name">
$_priorities
array('1 (Highest)', '2 (High)', '3 (Normal)', '4 (Low)', '5 (Lowest)')
<div class="description detailed">
</div>
</div></td>
</tr>
</table>