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>
⚠️ **GitHub.com Fallback** ⚠️