New phpmailer 1.7.2 merged from STABLE

This commit is contained in:
moodler 2004-09-25 16:02:38 +00:00
parent 3d1f31a563
commit 346d4eab7d
13 changed files with 413 additions and 230 deletions

View file

@ -1,5 +1,22 @@
ChangeLog ChangeLog
Version 1.72 (Wed, May 25 2004)
* Added Dutch, Swedish, Czech, Norwegian, and Turkish translations.
* Received: Removed this method because spam filter programs like
SpamAssassin reject this header.
* Fixed error count bug.
* SetLanguage default is now "language/".
* Fixed magic_quotes_runtime bug.
Version 1.71 (Tue, Jul 28 2003)
* Made several speed enhancements
* Added German and Italian translation files
* Fixed HELO/AUTH bugs on keep-alive connects
* Now provides an error message if language file does not load
* Fixed attachment EOL bug
* Updated some unclear documentation
* Added additional tests and improved others
Version 1.70 (Mon, Jun 20 2003) Version 1.70 (Mon, Jun 20 2003)
* Added SMTP keep-alive support * Added SMTP keep-alive support
* Added IsError method for error detection * Added IsError method for error detection

View file

@ -1,102 +1,102 @@
PHPMailer PHPMailer
Full Featured Email Transfer Class for PHP Full Featured Email Transfer Class for PHP
========================================== ==========================================
http://phpmailer.sourceforge.net/ http://phpmailer.sourceforge.net/
This software is licenced under the LGPL. Please read LICENSE for information on the This software is licenced under the LGPL. Please read LICENSE for information on the
software availability and distribution. software availability and distribution.
Class Features: Class Features:
- Send emails with multiple TOs, CCs, BCCs and REPLY-TOs - Send emails with multiple TOs, CCs, BCCs and REPLY-TOs
- Redundant SMTP servers - Redundant SMTP servers
- Multipart/alternative emails for mail clients that do not read HTML email - Multipart/alternative emails for mail clients that do not read HTML email
- Support for 8bit, base64, binary, and quoted-printable encoding - Support for 8bit, base64, binary, and quoted-printable encoding
- Uses the same methods as the very popular AspEmail active server (COM) component - Uses the same methods as the very popular AspEmail active server (COM) component
- SMTP authentication - SMTP authentication
- Native language support - Native language support
- Word wrap, and more! - Word wrap, and more!
Why you might need it: Why you might need it:
Many PHP developers utilize email in their code. The only PHP function Many PHP developers utilize email in their code. The only PHP function
that supports this is the mail() function. However, it does not expose that supports this is the mail() function. However, it does not expose
any of the popular features that many email clients use nowadays like any of the popular features that many email clients use nowadays like
HTML-based emails and attachments. There are two proprietary HTML-based emails and attachments. There are two proprietary
development tools out there that have all the functionality built into development tools out there that have all the functionality built into
easy to use classes: AspEmail(tm) and AspMail. Both of these easy to use classes: AspEmail(tm) and AspMail. Both of these
programs are COM components only available on Windows. They are also a programs are COM components only available on Windows. They are also a
little pricey for smaller projects. little pricey for smaller projects.
Since I do Linux development Ive missed these tools for my PHP coding. Since I do Linux development Ive missed these tools for my PHP coding.
So I built a version myself that implements the same methods (object So I built a version myself that implements the same methods (object
calls) that the Windows-based components do. It is open source and the calls) that the Windows-based components do. It is open source and the
LGPL license allows you to place the class in your proprietary PHP LGPL license allows you to place the class in your proprietary PHP
projects. projects.
Installation: Installation:
Copy class.phpmailer.php into your php.ini include_path. If you are Copy class.phpmailer.php into your php.ini include_path. If you are
using the SMTP mailer then place class.smtp.php in your path as well. using the SMTP mailer then place class.smtp.php in your path as well.
In the language directory you will find several files like In the language directory you will find several files like
phpmailer.lang-en.php. If you look right before the .php extension phpmailer.lang-en.php. If you look right before the .php extension
that there are two letters. These represent the language type of the that there are two letters. These represent the language type of the
translation file. For instance "en" is the English file and "br" is translation file. For instance "en" is the English file and "br" is
the Portuguese file. Chose the file that best fits with your language the Portuguese file. Chose the file that best fits with your language
and place it in the PHP include path. If your language is English and place it in the PHP include path. If your language is English
then you have nothing more to do. If it is a different language then then you have nothing more to do. If it is a different language then
you must point PHPMailer to the correct translation. To do this, call you must point PHPMailer to the correct translation. To do this, call
the PHPMailer SetLanguage method like so: the PHPMailer SetLanguage method like so:
// To load the Portuguese version // To load the Portuguese version
$mail->SetLanguage("br", "/optional/path/to/language/directory"); $mail->SetLanguage("br", "/optional/path/to/language/directory/");
That's it. You should now be ready to use PHPMailer! That's it. You should now be ready to use PHPMailer!
A Simple Example: A Simple Example:
<?php <?php
require("class.phpmailer.php"); require("class.phpmailer.php");
$mail = new PHPMailer(); $mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP $mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "smtp1.example.com;smtp2.example.com"; // specify main and backup server $mail->Host = "smtp1.example.com;smtp2.example.com"; // specify main and backup server
$mail->SMTPAuth = true // turn on SMTP authentication $mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "jswan" // SMTP username $mail->Username = "jswan"; // SMTP username
$mail->Password = "secret" // SMTP password $mail->Password = "secret"; // SMTP password
$mail->From = "from@example.com"; $mail->From = "from@example.com";
$mail->FromName = "Mailer"; $mail->FromName = "Mailer";
$mail->AddAddress("josh@example.net", "Josh Adams"); $mail->AddAddress("josh@example.net", "Josh Adams");
$mail->AddAddress("ellen@example.com"); // name is optional $mail->AddAddress("ellen@example.com"); // name is optional
$mail->AddReplyTo("info@example.com", "Information"); $mail->AddReplyTo("info@example.com", "Information");
$mail->WordWrap = 50; // set word wrap to 50 characters $mail->WordWrap = 50; // set word wrap to 50 characters
$mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments $mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments
$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name $mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name
$mail->IsHTML(true); // set email format to HTML $mail->IsHTML(true); // set email format to HTML
$mail->Subject = "Here is the subject"; $mail->Subject = "Here is the subject";
$mail->Body = "This is the HTML message body <b>in bold!</b>"; $mail->Body = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; $mail->AltBody = "This is the body in plain text for non-HTML mail clients";
if(!$mail->Send()) if(!$mail->Send())
{ {
echo "Message could not be sent. <p>"; echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo; echo "Mailer Error: " . $mail->ErrorInfo;
exit; exit;
} }
echo "Message has been sent"; echo "Message has been sent";
?> ?>
CHANGELOG CHANGELOG
See ChangeLog.txt See ChangeLog.txt
Download: http://sourceforge.net/project/showfiles.php?group_id=26031 Download: http://sourceforge.net/project/showfiles.php?group_id=26031
Brent R. Matzelle Brent R. Matzelle

View file

@ -67,8 +67,8 @@ class PHPMailer
var $FromName = "Root User"; var $FromName = "Root User";
/** /**
* Sets the Sender email of the message. If not empty, will be sent via -f to sendmail * Sets the Sender email (Return-Path) of the message. If not empty,
* or as 'MAIL FROM' in smtp mode. * will be sent via -f to sendmail or as 'MAIL FROM' in smtp mode.
* @var string * @var string
*/ */
var $Sender = ""; var $Sender = "";
@ -79,12 +79,6 @@ class PHPMailer
*/ */
var $Subject = ""; var $Subject = "";
/**
* Sets the Precedence level of this email. "bulk" will prevent some bounces
* @var string
*/
var $Precedence = "";
/** /**
* Sets the Body of the message. This can be either an HTML or text body. * 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).
@ -131,7 +125,7 @@ class PHPMailer
* Holds PHPMailer version. * Holds PHPMailer version.
* @var string * @var string
*/ */
var $Version = "1.70"; var $Version = "1.72";
/** /**
* Sets the email address that a reading confirmation will be sent. * Sets the email address that a reading confirmation will be sent.
@ -147,7 +141,6 @@ class PHPMailer
*/ */
var $Hostname = ""; var $Hostname = "";
///////////////////////////////////////////////// /////////////////////////////////////////////////
// SMTP VARIABLES // SMTP VARIABLES
///////////////////////////////////////////////// /////////////////////////////////////////////////
@ -350,6 +343,7 @@ class PHPMailer
function Send() { function Send() {
$header = ""; $header = "";
$body = ""; $body = "";
$result = true;
if((count($this->to) + count($this->cc) + count($this->bcc)) < 1) if((count($this->to) + count($this->cc) + count($this->bcc)) < 1)
{ {
@ -361,6 +355,7 @@ class PHPMailer
if(!empty($this->AltBody)) if(!empty($this->AltBody))
$this->ContentType = "multipart/alternative"; $this->ContentType = "multipart/alternative";
$this->error_count = 0; // reset errors
$this->SetMessageType(); $this->SetMessageType();
$header .= $this->CreateHeader(); $header .= $this->CreateHeader();
$body = $this->CreateBody(); $body = $this->CreateBody();
@ -368,28 +363,24 @@ class PHPMailer
if($body == "") { return false; } if($body == "") { return false; }
// Choose the mailer // Choose the mailer
if($this->Mailer == "sendmail") switch($this->Mailer)
{
if(!$this->SendmailSend($header, $body))
return false;
}
elseif($this->Mailer == "mail")
{
if(!$this->MailSend($header, $body))
return false;
}
elseif($this->Mailer == "smtp")
{
if(!$this->SmtpSend($header, $body))
return false;
}
else
{ {
case "sendmail":
$result = $this->SendmailSend($header, $body);
break;
case "mail":
$result = $this->MailSend($header, $body);
break;
case "smtp":
$result = $this->SmtpSend($header, $body);
break;
default:
$this->SetError($this->Mailer . $this->Lang("mailer_not_supported")); $this->SetError($this->Mailer . $this->Lang("mailer_not_supported"));
return false; $result = false;
break;
} }
return true; return $result;
} }
/** /**
@ -428,21 +419,20 @@ class PHPMailer
* @return bool * @return bool
*/ */
function MailSend($header, $body) { function MailSend($header, $body) {
// Cannot add Bcc's to the $to $to = "";
$to = $this->to[0][0]; // no extra comma for($i = 0; $i < count($this->to); $i++)
for($i = 1; $i < count($this->to); $i++) {
$to .= sprintf(",%s", $this->to[$i][0]); if($i != 0) { $to .= ", "; }
$to .= $this->to[$i][0];
}
if ($this->Sender != "" && PHP_VERSION >= "4.0") if ($this->Sender != "" && strlen(ini_get("safe_mode"))< 1)
{ {
$old_from = ini_get("sendmail_from"); $old_from = ini_get("sendmail_from");
ini_set("sendmail_from", $this->Sender); ini_set("sendmail_from", $this->Sender);
}
if ($this->Sender != "" && PHP_VERSION >= "4.0.5")
{
$params = sprintf("-oi -f %s", $this->Sender); $params = sprintf("-oi -f %s", $this->Sender);
$rt = @mail($to, $this->EncodeHeader($this->Subject), $body, $header, $params); $rt = @mail($to, $this->EncodeHeader($this->Subject), $body,
$header, $params);
} }
else else
$rt = @mail($to, $this->EncodeHeader($this->Subject), $body, $header); $rt = @mail($to, $this->EncodeHeader($this->Subject), $body, $header);
@ -467,33 +457,12 @@ class PHPMailer
* @return bool * @return bool
*/ */
function SmtpSend($header, $body) { function SmtpSend($header, $body) {
// Include SMTP class code, but not twice
include_once($this->PluginDir . "class.smtp.php"); include_once($this->PluginDir . "class.smtp.php");
$error = ""; $error = "";
$bad_rcpt = array(); $bad_rcpt = array();
if($this->smtp == NULL) if(!$this->SmtpConnect())
{ return false;
if(!$this->SmtpConnect())
return false;
}
// Must perform HELO before authentication
if ($this->Helo != '')
$this->smtp->Hello($this->Helo);
else
$this->smtp->Hello($this->ServerHostname());
// If user requests SMTP authentication
if($this->SMTPAuth)
{
if(!$this->smtp->Authenticate($this->Username, $this->Password))
{
$this->SetError($this->Lang("authenticate"));
$this->smtp->Reset();
return false;
}
}
$smtp_from = ($this->Sender == "") ? $this->From : $this->Sender; $smtp_from = ($this->Sender == "") ? $this->From : $this->Sender;
if(!$this->smtp->Mail($smtp_from)) if(!$this->smtp->Mail($smtp_from))
@ -521,8 +490,7 @@ class PHPMailer
$bad_rcpt[] = $this->bcc[$i][0]; $bad_rcpt[] = $this->bcc[$i][0];
} }
// Create error message if(count($bad_rcpt) > 0) // Create error message
if(count($bad_rcpt) > 0)
{ {
for($i = 0; $i < count($bad_rcpt); $i++) for($i = 0; $i < count($bad_rcpt); $i++)
{ {
@ -575,7 +543,24 @@ class PHPMailer
} }
if($this->smtp->Connect($host, $port, $this->Timeout)) if($this->smtp->Connect($host, $port, $this->Timeout))
{
if ($this->Helo != '')
$this->smtp->Hello($this->Helo);
else
$this->smtp->Hello($this->ServerHostname());
if($this->SMTPAuth)
{
if(!$this->smtp->Authenticate($this->Username,
$this->Password))
{
$this->SetError($this->Lang("authenticate"));
$this->smtp->Reset();
$connection = false;
}
}
$connection = true; $connection = true;
}
$index++; $index++;
} }
if(!$connection) if(!$connection)
@ -608,7 +593,7 @@ class PHPMailer
* @access public * @access public
* @return bool * @return bool
*/ */
function SetLanguage($lang_type, $lang_path = "") { function SetLanguage($lang_type, $lang_path = "language/") {
if(file_exists($lang_path.'phpmailer.lang-'.$lang_type.'.php')) if(file_exists($lang_path.'phpmailer.lang-'.$lang_type.'.php'))
include($lang_path.'phpmailer.lang-'.$lang_type.'.php'); include($lang_path.'phpmailer.lang-'.$lang_type.'.php');
else if(file_exists($lang_path.'phpmailer.lang-en.php')) else if(file_exists($lang_path.'phpmailer.lang-en.php'))
@ -638,11 +623,9 @@ class PHPMailer
if(count($addr) > 1) if(count($addr) > 1)
{ {
for($i = 1; $i < count($addr); $i++) for($i = 1; $i < count($addr); $i++)
$addr_str .= sprintf(", %s", $this->AddrFormat($addr[$i])); $addr_str .= ", " . $this->AddrFormat($addr[$i]);
$addr_str .= $this->LE;
} }
else $addr_str .= $this->LE;
$addr_str .= $this->LE;
return $addr_str; return $addr_str;
} }
@ -656,7 +639,10 @@ class PHPMailer
if(empty($addr[1])) if(empty($addr[1]))
$formatted = $addr[0]; $formatted = $addr[0];
else else
$formatted = sprintf('%s <%s>', $this->EncodeHeader($addr[1], 'phrase'), $addr[0]); {
$formatted = $this->EncodeHeader($addr[1], 'phrase') . " <" .
$addr[0] . ">";
}
return $formatted; return $formatted;
} }
@ -776,7 +762,6 @@ class PHPMailer
$this->boundary[1] = "b1_" . $uniq_id; $this->boundary[1] = "b1_" . $uniq_id;
$this->boundary[2] = "b2_" . $uniq_id; $this->boundary[2] = "b2_" . $uniq_id;
$result .= $this->Received();
$result .= $this->HeaderLine("Date", $this->RFCDate()); $result .= $this->HeaderLine("Date", $this->RFCDate());
if($this->Sender == "") if($this->Sender == "")
$result .= $this->HeaderLine("Return-Path", trim($this->From)); $result .= $this->HeaderLine("Return-Path", trim($this->From));
@ -790,6 +775,8 @@ class PHPMailer
$result .= $this->AddrAppend("To", $this->to); $result .= $this->AddrAppend("To", $this->to);
else if (count($this->cc) == 0) else if (count($this->cc) == 0)
$result .= $this->HeaderLine("To", "undisclosed-recipients:;"); $result .= $this->HeaderLine("To", "undisclosed-recipients:;");
if(count($this->cc) > 0)
$result .= $this->AddrAppend("Cc", $this->cc);
} }
$from = array(); $from = array();
@ -797,9 +784,6 @@ class PHPMailer
$from[0][1] = $this->FromName; $from[0][1] = $this->FromName;
$result .= $this->AddrAppend("From", $from); $result .= $this->AddrAppend("From", $from);
if(count($this->cc) > 0)
$result .= $this->AddrAppend("Cc", $this->cc);
// sendmail and mail() extract Bcc from the header before sending // sendmail and mail() extract Bcc from the header before sending
if((($this->Mailer == "sendmail") || ($this->Mailer == "mail")) && (count($this->bcc) > 0)) if((($this->Mailer == "sendmail") || ($this->Mailer == "mail")) && (count($this->bcc) > 0))
$result .= $this->AddrAppend("Bcc", $this->bcc); $result .= $this->AddrAppend("Bcc", $this->bcc);
@ -815,10 +799,6 @@ class PHPMailer
$result .= $this->HeaderLine("X-Priority", $this->Priority); $result .= $this->HeaderLine("X-Priority", $this->Priority);
$result .= $this->HeaderLine("X-Mailer", "PHPMailer [version " . $this->Version . "]"); $result .= $this->HeaderLine("X-Mailer", "PHPMailer [version " . $this->Version . "]");
if ($this->Precedence != "") {
$result .= $this->HeaderLine("Precedence", $this->Precedence);
}
if($this->ConfirmReadingTo != "") if($this->ConfirmReadingTo != "")
{ {
$result .= $this->HeaderLine("Disposition-Notification-To", $result .= $this->HeaderLine("Disposition-Notification-To",
@ -843,7 +823,7 @@ class PHPMailer
case "attachments": case "attachments":
// fall through // fall through
case "alt_attachments": case "alt_attachments":
if($this->EmbeddedImageCount() > 0) if($this->InlineImageExists())
{ {
$result .= sprintf("Content-Type: %s;%s\ttype=\"text/html\";%s\tboundary=\"%s\"%s", $result .= sprintf("Content-Type: %s;%s\ttype=\"text/html\";%s\tboundary=\"%s\"%s",
"multipart/related", $this->LE, $this->LE, "multipart/related", $this->LE, $this->LE,
@ -945,8 +925,9 @@ class PHPMailer
if($encoding == "") { $encoding = $this->Encoding; } if($encoding == "") { $encoding = $this->Encoding; }
$result .= $this->TextLine("--" . $boundary); $result .= $this->TextLine("--" . $boundary);
$result .= sprintf("Content-Type: %s; charset = \"%s\"\n", $result .= sprintf("Content-Type: %s; charset = \"%s\"",
$contentType, $charSet); $contentType, $charSet);
$result .= $this->LE;
$result .= $this->HeaderLine("Content-Transfer-Encoding", $encoding); $result .= $this->HeaderLine("Content-Transfer-Encoding", $encoding);
$result .= $this->LE; $result .= $this->LE;
@ -1009,7 +990,7 @@ class PHPMailer
* @param string $path Path to the attachment. * @param string $path Path to the attachment.
* @param string $name Overrides the attachment name. * @param string $name Overrides the attachment name.
* @param string $encoding File encoding (see $Encoding). * @param string $encoding File encoding (see $Encoding).
* @param string $type File extension type. * @param string $type File extension (MIME) type.
* @return bool * @return bool
*/ */
function AddAttachment($path, $name = "", $encoding = "base64", function AddAttachment($path, $name = "", $encoding = "base64",
@ -1024,7 +1005,6 @@ class PHPMailer
if($name == "") if($name == "")
$name = $filename; $name = $filename;
// Append to $attachment array
$cur = count($this->attachment); $cur = count($this->attachment);
$this->attachment[$cur][0] = $path; $this->attachment[$cur][0] = $path;
$this->attachment[$cur][1] = $filename; $this->attachment[$cur][1] = $filename;
@ -1127,22 +1107,18 @@ class PHPMailer
// chunk_split is found in PHP >= 3.0.6 // chunk_split is found in PHP >= 3.0.6
$encoded = chunk_split(base64_encode($str), 76, $this->LE); $encoded = chunk_split(base64_encode($str), 76, $this->LE);
break; break;
case "7bit": case "7bit":
case "8bit": case "8bit":
$encoded = $this->FixEOL($str); $encoded = $this->FixEOL($str);
if (substr($encoded, -(strlen($this->LE))) != $this->LE) if (substr($encoded, -(strlen($this->LE))) != $this->LE)
$encoded .= $this->LE; $encoded .= $this->LE;
break; break;
case "binary": case "binary":
$encoded = $str; $encoded = $str;
break; break;
case "quoted-printable": case "quoted-printable":
$encoded = $this->EncodeQP($str); $encoded = $this->EncodeQP($str);
break; break;
default: default:
$this->SetError($this->Lang("encoding") . $encoding); $this->SetError($this->Lang("encoding") . $encoding);
break; break;
@ -1262,7 +1238,7 @@ class PHPMailer
* @param string $string String attachment data. * @param string $string String attachment data.
* @param string $filename Name of the attachment. * @param string $filename Name of the attachment.
* @param string $encoding File encoding (see $Encoding). * @param string $encoding File encoding (see $Encoding).
* @param string $type File extension type. * @param string $type File extension (MIME) type.
* @return void * @return void
*/ */
function AddStringAttachment($string, $filename, $encoding = "base64", function AddStringAttachment($string, $filename, $encoding = "base64",
@ -1281,13 +1257,15 @@ class PHPMailer
/** /**
* Adds an embedded attachment. This can include images, sounds, and * Adds an embedded attachment. This can include images, sounds, and
* just about any other document. * just about any other document. Make sure to set the $type to an
* image type. For JPEG images use "image/jpeg" and for GIF images
* use "image/gif".
* @param string $path Path to the attachment. * @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. * the Id for accessing the image in an HTML form.
* @param string $name Overrides the attachment name. * @param string $name Overrides the attachment name.
* @param string $encoding File encoding (see $Encoding). * @param string $encoding File encoding (see $Encoding).
* @param string $type File extension type. * @param string $type File extension (MIME) type.
* @return bool * @return bool
*/ */
function AddEmbeddedImage($path, $cid, $name = "", $encoding = "base64", function AddEmbeddedImage($path, $cid, $name = "", $encoding = "base64",
@ -1318,16 +1296,19 @@ class PHPMailer
} }
/** /**
* Returns the number of embedded images in an email. * Returns true if an inline attachment is present.
* @access private * @access private
* @return int * @return bool
*/ */
function EmbeddedImageCount() { function InlineImageExists() {
$result = 0; $result = false;
for($i = 0; $i < count($this->attachment); $i++) for($i = 0; $i < count($this->attachment); $i++)
{ {
if($this->attachment[$i][6] == "inline") if($this->attachment[$i][6] == "inline")
$result++; {
$result = true;
break;
}
} }
return $result; return $result;
@ -1414,7 +1395,7 @@ class PHPMailer
} }
/** /**
* Returns the proper RFC 822 formatted date. Returns string. * Returns the proper RFC 822 formatted date.
* @access private * @access private
* @return string * @return string
*/ */
@ -1427,36 +1408,6 @@ class PHPMailer
return $result; return $result;
} }
/**
* Returns Received header for message tracing. Returns string.
* @access private
* @return string
*/
function Received() {
if ($this->ServerVar('SERVER_NAME') != '')
{
$protocol = ($this->ServerVar('HTTPS') == 'on') ? 'HTTPS' : 'HTTP';
$remote = $this->ServerVar('REMOTE_HOST');
if($remote == "")
$remote = 'phpmailer';
$remote .= ' (['.$this->ServerVar('REMOTE_ADDR').'])';
}
else
{
$protocol = 'local';
$remote = $this->ServerVar('USER');
if($remote == '')
$remote = 'phpmailer';
}
$result = sprintf("Received: from %s %s\tby %s " .
"with %s (PHPMailer);%s\t%s%s", $remote, $this->LE,
$this->ServerHostname(), $protocol, $this->LE,
$this->RFCDate(), $this->LE);
return $result;
}
/** /**
* Returns the appropriate server variable. Should work with both * Returns the appropriate server variable. Should work with both
@ -1510,7 +1461,7 @@ class PHPMailer
if(isset($this->language[$key])) if(isset($this->language[$key]))
return $this->language[$key]; return $this->language[$key];
else else
return ""; return "Language string failed to load: " . $key;
} }
/** /**
@ -1522,7 +1473,7 @@ class PHPMailer
} }
/** /**
* Changes every end of line from CR or LF to CRLF. Returns string. * Changes every end of line from CR or LF to CRLF.
* @access private * @access private
* @return string * @return string
*/ */
@ -1534,7 +1485,7 @@ class PHPMailer
} }
/** /**
* Adds a custom header. Returns void. * Adds a custom header.
* @return void * @return void
*/ */
function AddCustomHeader($custom_header) { function AddCustomHeader($custom_header) {

View file

@ -0,0 +1,24 @@
<?php
/**
* PHPMailer language file.
* Czech Version
*/
$PHPMAILER_LANG = array();
$PHPMAILER_LANG["provide_address"] = 'Musíte zadat alespoò jednu ' .
'emailovou adresu pøíjemce.';
$PHPMAILER_LANG["mailer_not_supported"] = ' mailový klient není podporován.';
$PHPMAILER_LANG["execute"] = 'Nelze provést: ';
$PHPMAILER_LANG["instantiate"] = 'Nelze vytvoøit instanci emailové funkce.';
$PHPMAILER_LANG["authenticate"] = 'SMTP Error: Chyba autentikace.';
$PHPMAILER_LANG["from_failed"] = 'Následující adresa From je nesprávná: ';
$PHPMAILER_LANG["recipients_failed"] = 'SMTP Error: Adresy pøíjemcù ' .
'nejsou správné ' .
$PHPMAILER_LANG["data_not_accepted"] = 'SMTP Error: Data nebyla pøijata';
$PHPMAILER_LANG["connect_host"] = 'SMTP Error: Nelze navázat spojení se ' .
' SMTP serverem.';
$PHPMAILER_LANG["file_access"] = 'Soubor nenalezen: ';
$PHPMAILER_LANG["file_open"] = 'File Error: Nelze otevøít soubor pro ètení: ';
$PHPMAILER_LANG["encoding"] = 'Neznámé kódování: ';
?>

View file

@ -0,0 +1,23 @@
<?php
/**
* PHPMailer language file.
* German Version
*/
$PHPMAILER_LANG = array();
$PHPMAILER_LANG["provide_address"] = 'Bitte geben Sie mindestens eine ' .
'Empf&auml;nger Emailadresse an.';
$PHPMAILER_LANG["mailer_not_supported"] = ' mailer wird nicht unterst&uuml;tzt.';
$PHPMAILER_LANG["execute"] = 'Konnte folgenden Befehl nicht ausf&uuml;hren: ';
$PHPMAILER_LANG["instantiate"] = 'Mail Funktion konnte nicht initialisiert werden.';
$PHPMAILER_LANG["authenticate"] = 'SMTP Fehler: Authentifizierung fehlgeschlagen.';
$PHPMAILER_LANG["from_failed"] = 'Die folgende Absenderadresse ist nicht korrekt: ';
$PHPMAILER_LANG["recipients_failed"] = 'SMTP Fehler: Die folgenden ' .
'Empf&auml;nger sind nicht korrekt: ';
$PHPMAILER_LANG["data_not_accepted"] = 'SMTP Fehler: Daten werden nicht akzeptiert.';
$PHPMAILER_LANG["connect_host"] = 'SMTP Fehler: Konnte keine Verbindung zum SMTP-Host herstellen.';
$PHPMAILER_LANG["file_access"] = 'Zugriff auf folgende Datei fehlgeschlagen: ';
$PHPMAILER_LANG["file_open"] = 'Datei Fehler: Konnte Date nicht &ouml;ffnen: ';
$PHPMAILER_LANG["encoding"] = 'Unbekanntes Encoding-Format: ';
?>

View file

@ -21,4 +21,3 @@ $PHPMAILER_LANG["file_access"] = 'Could not access file: ';
$PHPMAILER_LANG["file_open"] = 'File Error: Could not open file: '; $PHPMAILER_LANG["file_open"] = 'File Error: Could not open file: ';
$PHPMAILER_LANG["encoding"] = 'Unknown encoding: '; $PHPMAILER_LANG["encoding"] = 'Unknown encoding: ';
?> ?>

View file

@ -0,0 +1,23 @@
<?php
/**
* PHPMailer language file.
* Versión en español
*/
$PHPMAILER_LANG = array();
$PHPMAILER_LANG["provide_address"] = 'Debe proveer al menos una ' .
'dirección de email como destinatario.';
$PHPMAILER_LANG["mailer_not_supported"] = ' mailer no está soportado.';
$PHPMAILER_LANG["execute"] = 'No puedo ejecutar: ';
$PHPMAILER_LANG["instantiate"] = 'No pude crear una instancia de la función Mail.';
$PHPMAILER_LANG["authenticate"] = 'Error SMTP: No se pudo autentificar.';
$PHPMAILER_LANG["from_failed"] = 'La(s) siguiente(s) direcciones de remitente fallaron: ';
$PHPMAILER_LANG["recipients_failed"] = 'Error SMTP: Los siguientes ' .
'destinatarios fallaron: ';
$PHPMAILER_LANG["data_not_accepted"] = 'Error SMTP: Datos no aceptados.';
$PHPMAILER_LANG["connect_host"] = 'Error SMTP: No puedo conectar al servidor SMTP.';
$PHPMAILER_LANG["file_access"] = 'No puedo acceder al archivo: ';
$PHPMAILER_LANG["file_open"] = 'Error de Archivo: No puede abrir el archivo: ';
$PHPMAILER_LANG["encoding"] = 'Codificación desconocida: ';
?>

View file

@ -0,0 +1,24 @@
<?php
/**
* PHPMailer language file.
* French Version
* bruno@ioda-net.ch 09.08.2003
*/
$PHPMAILER_LANG = array();
$PHPMAILER_LANG["provide_address"] = 'Vous devez fournir au moins ' .
'une adresse de destinataire.';
$PHPMAILER_LANG["mailer_not_supported"] = ' mailer non supporté.';
$PHPMAILER_LANG["execute"] = 'Ne peut pas lancer l\'exécution: ';
$PHPMAILER_LANG["instantiate"] = 'Impossible d\'instancier la fonction mail.';
$PHPMAILER_LANG["authenticate"] = 'SMTP Erreur: Echec de l\'authentification.';
$PHPMAILER_LANG["from_failed"] = 'L\'adresse From suivante a échoué : ';
$PHPMAILER_LANG["recipients_failed"] = 'SMTP Erreur: Les destinataires ' .
'suivants sont en erreur : ';
$PHPMAILER_LANG["data_not_accepted"] = 'SMTP Erreur: Data non acceptée.';
$PHPMAILER_LANG["connect_host"] = 'SMTP Erreur: Impossible de connecter le serveur SMTP .';
$PHPMAILER_LANG["file_access"] = 'N\'arrive pas à accéder au fichier: ';
$PHPMAILER_LANG["file_open"] = 'Erreur Fichier: ouverture impossible: ';
$PHPMAILER_LANG["encoding"] = 'Encodage inconnu: ';
?>

View file

@ -0,0 +1,28 @@
<?php
/**
* PHPMailer language file.
* Italian version
* @package PHPMailer
* @author Ilias Bartolini <brain79@inwind.it>
*/
$PHPMAILER_LANG = array();
$PHPMAILER_LANG["provide_address"] = 'Deve essere fornito almeno un'.
' indirizzo ricevente';
$PHPMAILER_LANG["mailer_not_supported"] = 'Mailer non supportato';
$PHPMAILER_LANG["execute"] = "Impossibile eseguire l'operazione: ";
$PHPMAILER_LANG["instantiate"] = 'Impossibile istanziare la funzione mail';
$PHPMAILER_LANG["authenticate"] = 'SMTP Error: Impossibile autenticarsi.';
$PHPMAILER_LANG["from_failed"] = 'I seguenti indirizzi mittenti hanno'.
' generato errore: ';
$PHPMAILER_LANG["recipients_failed"] = 'SMTP Error: I seguenti indirizzi'.
'destinatari hanno generato errore: ';
$PHPMAILER_LANG["data_not_accepted"] = 'SMTP Error: Data non accettati dal'.
'server.';
$PHPMAILER_LANG["connect_host"] = 'SMTP Error: Impossibile connettersi'.
' all\'host SMTP.';
$PHPMAILER_LANG["file_access"] = 'Impossibile accedere al file: ';
$PHPMAILER_LANG["file_open"] = 'File Error: Impossibile aprire il file: ';
$PHPMAILER_LANG["encoding"] = 'Encoding set dei caratteri sconosciuto: ';
?>

View file

@ -0,0 +1,23 @@
<?php
/**
* PHPMailer language file.
* Dutch Version
*/
$PHPMAILER_LANG = array();
$PHPMAILER_LANG["provide_address"] = 'U moet op zijn minst één ontvanger ' .
'opgeven';
$PHPMAILER_LANG["mailer_not_supported"] = ' e-mail service wordt niet ondersteund.';
$PHPMAILER_LANG["execute"] = 'Kan niet worden uitgevoerd: ';
$PHPMAILER_LANG["instantiate"] = 'Kan mail functie niet op gang brengen.';
$PHPMAILER_LANG["authenticate"] = 'SMTP fout: Ongeldige gebruikersnaam of wachtwoord.';
$PHPMAILER_LANG["from_failed"] = 'De volgende afzenders zijn ongeldig: ';
$PHPMAILER_LANG["recipients_failed"] = 'SMTP Fout: Kon email niet verzend ' .
'naar de volgende ontvangers : ';
$PHPMAILER_LANG["data_not_accepted"] = 'SMTP Fout: Data niet geaccepteerd.';
$PHPMAILER_LANG["connect_host"] = 'SMTP Fout: Kan geen verbinding maken met de SMTP server.';
$PHPMAILER_LANG["file_access"] = 'Bijlage kon niet worden geopend: ';
$PHPMAILER_LANG["file_open"] = 'Bijlage kon niet worden geopend: ';
$PHPMAILER_LANG["encoding"] = 'Onbekende codering: ';
?>

View file

@ -0,0 +1,23 @@
<?php
/**
* Norwegian language file.
* English Version
*/
$PHPMAILER_LANG = array();
$PHPMAILER_LANG["provide_address"] = 'Du må ha med minst en' .
'mottager adresse.';
$PHPMAILER_LANG["mailer_not_supported"] = ' mailer er ikke supportert.';
$PHPMAILER_LANG["execute"] = 'Kunne ikke utføre: ';
$PHPMAILER_LANG["instantiate"] = 'Kunne ikke instantiate mail funksjonen.';
$PHPMAILER_LANG["authenticate"] = 'SMTP Feil: Kunne ikke authentisere.';
$PHPMAILER_LANG["from_failed"] = 'Følgende Fra feilet: ';
$PHPMAILER_LANG["recipients_failed"] = 'SMTP Feil: Følgende' .
'mottagere feilet: ';
$PHPMAILER_LANG["data_not_accepted"] = 'SMTP Feil: Data ble ikke akseptert.';
$PHPMAILER_LANG["connect_host"] = 'SMTP Feil: Kunne ikke koble til SMTP host.';
$PHPMAILER_LANG["file_access"] = 'Kunne ikke få tilgang til filen: ';
$PHPMAILER_LANG["file_open"] = 'Fil feil: Kunne ikke åpne filen: ';
$PHPMAILER_LANG["encoding"] = 'Ukjent encoding: ';
?>

View file

@ -0,0 +1,24 @@
<?php
/**
* PHPMailer language file.
* Swedish Version
* Author: Johan Linnér <johan@linner.biz>
*/
$PHPMAILER_LANG = array();
$PHPMAILER_LANG["provide_address"] = 'Du måste ange minst en ' .
'mottagares e-postadress.';
$PHPMAILER_LANG["mailer_not_supported"] = ' mailer stöds inte.';
$PHPMAILER_LANG["execute"] = 'Kunde inte köra: ';
$PHPMAILER_LANG["instantiate"] = 'Kunde inte initiera e-postfunktion.';
$PHPMAILER_LANG["authenticate"] = 'SMTP fel: Kunde inte autentisera.';
$PHPMAILER_LANG["from_failed"] = 'Följande avsändaradress är felaktig: ';
$PHPMAILER_LANG["recipients_failed"] = 'SMTP fel: Följande ' .
'mottagare är felaktig: ';
$PHPMAILER_LANG["data_not_accepted"] = 'SMTP fel: Data accepterades inte.';
$PHPMAILER_LANG["connect_host"] = 'SMTP fel: Kunde inte ansluta till SMTP-server.';
$PHPMAILER_LANG["file_access"] = 'Ingen åtkomst till fil: ';
$PHPMAILER_LANG["file_open"] = 'Fil fel: Kunde inte öppna fil: ';
$PHPMAILER_LANG["encoding"] = 'Okänt encode-format: ';
?>

View file

@ -0,0 +1,24 @@
<?php
/**
* PHPMailer dil dosyası.
* Türkçe Versiyonu
*/İZYAZILIM - Elçin Özel - Can Yılmaz - Mehmet Benlioğlu
$PHPMAILER_LANG = array();
$PHPMAILER_LANG["provide_address"] = 'En az bir tane mail adresi belirtmek zorundasınız ' .
'alıcının email adresi.';
$PHPMAILER_LANG["mailer_not_supported"] = ' mailler desteklenmemektedir.';
$PHPMAILER_LANG["execute"] = 'Çalıştırılamıyor: ';
$PHPMAILER_LANG["instantiate"] = 'Örnek mail fonksiyonu yaratılamadı.';
$PHPMAILER_LANG["authenticate"] = 'SMTP Hatası: Doğrulanamıyor.';
$PHPMAILER_LANG["from_failed"] = 'Başarısız olan gönderici adresi: ';
$PHPMAILER_LANG["recipients_failed"] = 'SMTP Hatası: ' .
'alıcılara ulaşmadı: ';
$PHPMAILER_LANG["data_not_accepted"] = 'SMTP Hatası: Veri kabul edilmedi.';
$PHPMAILER_LANG["connect_host"] = 'SMTP Hatası: SMTP hosta bağlanılamıyor.';
$PHPMAILER_LANG["file_access"] = 'Dosyaya erişilemiyor: ';
$PHPMAILER_LANG["file_open"] = 'Dosya Hatası: Dosya açılamıyor: ';
$PHPMAILER_LANG["encoding"] = 'Bilinmeyen şifreleme: ';
?>