/*~ class.phpmailer.php
.---------------------------------------------------------------------------.
| Software: PHPMailer - PHP email class |
-| Version: 2.0.3 |
+| Version: 2.0.4 |
| Contact: via sourceforge.net support pages (also www.codeworxtech.com) |
| Info: http://phpmailer.sourceforge.net |
| Support: http://sourceforge.net/projects/phpmailer/ |
* PHPMailer - PHP email transport class
* @package PHPMailer
* @author Andy Prevost
- * @copyright 2004 - 2008 Andy Prevost
+ * @copyright 2004 - 2009 Andy Prevost
*/
class PHPMailer {
/**
* Sets the Body of the message. This can be either an HTML or text body.
- * If HTML then run IsHTML(true).
+ * If HTML then run IsHTML(TRUE).
* @var string
*/
var $Body = '';
* Holds PHPMailer version.
* @var string
*/
- var $Version = "2.0.3";
+ var $Version = "2.0.4";
/**
* Sets the email address that a reading confirmation will be sent.
var $Hostname = '';
/**
- * Sets the message id to be used in the Message-Id header.
+ * Sets the message ID to be used in the Message-Id header.
* If empty, a unique id will be generated.
* @var string
*/
* Sets SMTP authentication. Utilizes the Username and Password variables.
* @var bool
*/
- var $SMTPAuth = false;
+ var $SMTPAuth = FALSE;
/**
* Sets SMTP username.
* Sets SMTP class debugging on or off.
* @var bool
*/
- var $SMTPDebug = false;
+ var $SMTPDebug = FALSE;
/**
* Prevents the SMTP connection from being closed after each mail
* requires an explicit call to SmtpClose().
* @var bool
*/
- var $SMTPKeepAlive = false;
+ var $SMTPKeepAlive = FALSE;
/**
* Provides the ability to have the TO field process individual
* emails, instead of sending to entire TO addresses
* @var bool
*/
- var $SingleTo = false;
+ var $SingleTo = FALSE;
/////////////////////////////////////////////////
// PROPERTIES, PRIVATE
var $boundary = array();
var $language = array();
var $error_count = 0;
- var $LE = "\r\n";
+ var $LE = "\n";
var $sign_cert_file = "";
var $sign_key_file = "";
var $sign_key_pass = "";
* @return void
*/
function IsHTML($bool) {
- if($bool == true) {
+ if($bool == TRUE) {
$this->ContentType = 'text/html';
} else {
$this->ContentType = 'text/plain';
function Send() {
$header = '';
$body = '';
- $result = true;
+ $result = TRUE;
if((count($this->to) + count($this->cc) + count($this->bcc)) < 1) {
$this->SetError($this->Lang('provide_address'));
- return false;
+ return FALSE;
}
/* Set whether the message is multipart/alternative */
$body = $this->CreateBody();
if($body == '') {
- return false;
+ return FALSE;
}
/* Choose the mailer */
$result = $this->MailSend($header, $body);
break;
//$this->SetError($this->Mailer . $this->Lang('mailer_not_supported'));
- //$result = false;
+ //$result = FALSE;
//break;
}
if(!@$mail = popen($sendmail, 'w')) {
$this->SetError($this->Lang('execute') . $this->Sendmail);
- return false;
+ return FALSE;
}
fputs($mail, $header);
}
if($result != 0) {
$this->SetError($this->Lang('execute') . $this->Sendmail);
- return false;
+ return FALSE;
}
- return true;
+ return TRUE;
}
/**
if ($this->Sender != '' && strlen(ini_get('safe_mode')) < 1) {
$old_from = ini_get('sendmail_from');
ini_set('sendmail_from', $this->Sender);
- if ($this->SingleTo === true && count($toArr) > 1) {
+ if ($this->SingleTo === TRUE && count($toArr) > 1) {
foreach ($toArr as $key => $val) {
$rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
}
$rt = @mail($to, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
}
} else {
- if ($this->SingleTo === true && count($toArr) > 1) {
+ if ($this->SingleTo === TRUE && count($toArr) > 1) {
foreach ($toArr as $key => $val) {
$rt = @mail($val, $this->EncodeHeader($this->SecureHeader($this->Subject)), $body, $header, $params);
}
if(!$rt) {
$this->SetError($this->Lang('instantiate'));
- return false;
+ return FALSE;
}
- return true;
+ return TRUE;
}
/**
$bad_rcpt = array();
if(!$this->SmtpConnect()) {
- return false;
+ return FALSE;
}
$smtp_from = ($this->Sender == '') ? $this->From : $this->Sender;
$error = $this->Lang('from_failed') . $smtp_from;
$this->SetError($error);
$this->smtp->Reset();
- return false;
+ return FALSE;
}
/* Attempt to send attach all recipients */
$error = $this->Lang('recipients_failed') . $error;
$this->SetError($error);
$this->smtp->Reset();
- return false;
+ return FALSE;
}
if(!$this->smtp->Data($header . $body)) {
$this->SetError($this->Lang('data_not_accepted'));
$this->smtp->Reset();
- return false;
+ return FALSE;
}
- if($this->SMTPKeepAlive == true) {
+ if($this->SMTPKeepAlive == TRUE) {
$this->smtp->Reset();
} else {
$this->SmtpClose();
}
- return true;
+ return TRUE;
}
/**
$connection = ($this->smtp->Connected());
/* Retry while there is no connection */
- while($index < count($hosts) && $connection == false) {
+ while($index < count($hosts) && $connection == FALSE) {
$hostinfo = array();
if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)) {
$host = $hostinfo[1];
$this->smtp->Hello($this->ServerHostname());
}
- $connection = true;
+ $connection = TRUE;
if($this->SMTPAuth) {
if(!$this->smtp->Authenticate($this->Username, $this->Password)) {
$this->SetError($this->Lang('authenticate'));
$this->smtp->Reset();
- $connection = false;
+ $connection = FALSE;
}
}
}
}
$this->language = $PHPMAILER_LANG;
- return true;
+ return TRUE;
}
/////////////////////////////////////////////////
* @access private
* @return string
*/
- function WrapText($message, $length, $qp_mode = false) {
+ function WrapText($message, $length, $qp_mode = FALSE) {
$soft_break = ($qp_mode) ? sprintf(" =%s", $this->LE) : $this->LE;
// If utf-8 encoding is used, we will need to make sure we don't
// split multibyte characters when we wrap
* @return int
*/
function UTF8CharBoundary($encodedText, $maxLength) {
- $foundSplitPos = false;
+ $foundSplitPos = FALSE;
$lookBack = 3;
while (!$foundSplitPos) {
$lastChunk = substr($encodedText, $maxLength - $lookBack, $lookBack);
$encodedCharPos = strpos($lastChunk, "=");
- if ($encodedCharPos !== false) {
+ if ($encodedCharPos !== FALSE) {
// Found start of encoded character byte within $lookBack block.
// Check the encoded byte value (the 2 chars after the '=')
$hex = substr($encodedText, $maxLength - $lookBack + $encodedCharPos + 1, 2);
// otherwise reduce maxLength to start of the encoded char
$maxLength = ($encodedCharPos == 0) ? $maxLength :
$maxLength - ($lookBack - $encodedCharPos);
- $foundSplitPos = true;
+ $foundSplitPos = TRUE;
} elseif ($dec >= 192) { // First byte of a multi byte character
// Reduce maxLength to split at start of character
$maxLength = $maxLength - ($lookBack - $encodedCharPos);
- $foundSplitPos = true;
+ $foundSplitPos = TRUE;
} elseif ($dec < 192) { // Middle byte of a multi byte character, look further back
$lookBack += 3;
}
} else {
// No encoded character found
- $foundSplitPos = true;
+ $foundSplitPos = TRUE;
}
}
return $maxLength;
}
if($this->MessageID != '') {
- $result .= $this->HeaderLine('Message-Id',$this->MessageID);
+ $result .= $this->HeaderLine('Message-ID',$this->MessageID);
} else {
- $result .= sprintf("Message-Id: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE);
+ $result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE);
}
$result .= $this->HeaderLine('X-Priority', $this->Priority);
$result .= $this->HeaderLine('X-Mailer', 'PHPMailer (phpmailer.sourceforge.net) [version ' . $this->Version . ']');
function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream') {
if(!@is_file($path)) {
$this->SetError($this->Lang('file_access') . $path);
- return false;
+ return FALSE;
}
$filename = basename($path);
$this->attachment[$cur][2] = $name;
$this->attachment[$cur][3] = $encoding;
$this->attachment[$cur][4] = $type;
- $this->attachment[$cur][5] = false; // isStringAttachment
+ $this->attachment[$cur][5] = FALSE; // isStringAttachment
$this->attachment[$cur][6] = 'attachment';
$this->attachment[$cur][7] = 0;
- return true;
+ return TRUE;
}
/**
$mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE);
if($disposition == 'inline') {
- $mime[] = sprintf("Content-Id: <%s>%s", $cid, $this->LE);
+ $mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE);
}
$mime[] = sprintf("Content-Disposition: %s; filename=\"%s\"%s", $disposition, $this->EncodeHeader($this->SecureHeader($name)), $this->LE.$this->LE);
} else {
$encoding = 'Q';
$encoded = $this->EncodeQ($str, $position);
- $encoded = $this->WrapText($encoded, $maxlen, true);
+ $encoded = $this->WrapText($encoded, $maxlen, TRUE);
$encoded = str_replace('='.$this->LE, "\n", trim($encoded));
}
* @access private
* @return string
*/
- function EncodeQP( $input = '', $line_max = 76, $space_conv = false ) {
+ function EncodeQP( $input = '', $line_max = 76, $space_conv = FALSE ) {
$hex = array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
$lines = preg_split('/(?:\r\n|\r|\n)/', $input);
$eol = "\r\n";
$this->attachment[$cur][2] = $filename;
$this->attachment[$cur][3] = $encoding;
$this->attachment[$cur][4] = $type;
- $this->attachment[$cur][5] = true; // isString
+ $this->attachment[$cur][5] = TRUE; // isString
$this->attachment[$cur][6] = 'attachment';
$this->attachment[$cur][7] = 0;
}
* image type. For JPEG images use "image/jpeg" and for GIF images
* use "image/gif".
* @param string $path Path to the attachment.
- * @param string $cid Content id of the attachment. Use this to identify
+ * @param string $cid Content ID of the attachment. Use this to identify
* the Id for accessing the image in an HTML form.
* @param string $name Overrides the attachment name.
* @param string $encoding File encoding (see $Encoding).
if(!@is_file($path)) {
$this->SetError($this->Lang('file_access') . $path);
- return false;
+ return FALSE;
}
$filename = basename($path);
$this->attachment[$cur][2] = $name;
$this->attachment[$cur][3] = $encoding;
$this->attachment[$cur][4] = $type;
- $this->attachment[$cur][5] = false;
+ $this->attachment[$cur][5] = FALSE;
$this->attachment[$cur][6] = 'inline';
$this->attachment[$cur][7] = $cid;
- return true;
+ return TRUE;
}
/**
* @return bool
*/
function InlineImageExists() {
- $result = false;
+ $result = FALSE;
for($i = 0; $i < count($this->attachment); $i++) {
if($this->attachment[$i][6] == 'inline') {
- $result = true;
+ $result = TRUE;
break;
}
}
}
}
}
- $this->IsHTML(true);
+ $this->IsHTML(TRUE);
$this->Body = $message;
$textMsg = trim(strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/s','',$message)));
if ( !empty($textMsg) && empty($this->AltBody) ) {
$this->$name = $value;
} else {
$this->SetError('Cannot set or reset variable ' . $name);
- return false;
+ return FALSE;
}
}
fclose($fp);
return $return;
} else {
- return false;
+ return FALSE;
}
}
}
-?>
\ No newline at end of file
+?>