Vergleich inc/mailhandlers/smtp.php - 1.4.0 - 1.4.6

  Keine Änderungen   Hinzugefügt   Modifiziert   Entfernt
Zeile 6Zeile 6
 * Website: http://www.mybboard.net
* License: http://www.mybboard.net/about/license
*

 * Website: http://www.mybboard.net
* License: http://www.mybboard.net/about/license
*

 * $Id: smtp.php 4053 2008-07-31 04:56:19Z Tikitiki $

 * $Id: smtp.php 4343 2009-04-09 05:36:29Z Tikitiki $

 */

// Disallow direct access to this file for security reasons

 */

// Disallow direct access to this file for security reasons

Zeile 114Zeile 114
	 * @var string
*/
var $code = 0;

	 * @var string
*/
var $code = 0;

 
	
/**
* The last received error message from the SMTP server.
*
* @var string
*/
var $last_error = '';

	
/**
* Are we keeping the connection to the SMTP server alive?

	
/**
* Are we keeping the connection to the SMTP server alive?

Zeile 121Zeile 128
	 * @var boolean
*/
var $keep_alive = false;

	 * @var boolean
*/
var $keep_alive = false;


function SmtpMail()


function SmtpMail()

	{
global $mybb;

	{
global $mybb;



		

		$this->__construct();

		$this->__construct();

	}


	}


	function __construct()
{
global $mybb;

	function __construct()
{
global $mybb;

Zeile 138Zeile 145
		{
case MYBB_SSL:
$protocol = 'ssl://';

		{
case MYBB_SSL:
$protocol = 'ssl://';

				break;

				break;

			case MYBB_TLS:
$protocol = 'tls://';
break;

			case MYBB_TLS:
$protocol = 'tls://';
break;

Zeile 149Zeile 156
			$this->host = @ini_get('SMTP');
}
else

			$this->host = @ini_get('SMTP');
}
else

		{

		{

			$this->host = $mybb->settings['smtp_host'];
}


			$this->host = $mybb->settings['smtp_host'];
}


Zeile 160Zeile 167
		if(empty($mybb->settings['smtp_port']) && !empty($protocol) && !@ini_get('smtp_port'))
{
$this->port = $this->secure_port;

		if(empty($mybb->settings['smtp_port']) && !empty($protocol) && !@ini_get('smtp_port'))
{
$this->port = $this->secure_port;

		}

		}

		else if(empty($mybb->settings['smtp_port']) && @ini_get('smtp_port'))
{
$this->port = @ini_get('smtp_port');

		else if(empty($mybb->settings['smtp_port']) && @ini_get('smtp_port'))
{
$this->port = @ini_get('smtp_port');

Zeile 192Zeile 199
		{
if(!$this->send_data('MAIL FROM:<'.$this->from.'>', '250'))
{

		{
if(!$this->send_data('MAIL FROM:<'.$this->from.'>', '250'))
{

				$this->fatal_error("The mail server does not understand the MAIL FROM command");

				$this->fatal_error("The mail server does not understand the MAIL FROM command. Reason: ".$this->get_error());

				return false;
}


				return false;
}


Zeile 202Zeile 209
			{
$to = trim($to);
if(!$this->send_data('RCPT TO:<'.$to.'>', '250'))

			{
$to = trim($to);
if(!$this->send_data('RCPT TO:<'.$to.'>', '250'))

				{
$this->fatal_error("The mail server does not understand the RCPT TO command");
return false;
}
}

				{
$this->fatal_error("The mail server does not understand the RCPT TO command. Reason: ".$this->get_error());
return false;
}
}


if($this->send_data('DATA', '354'))
{
$this->send_data('Date: ' . gmdate('r'));
$this->send_data('To: ' . $this->to);


if($this->send_data('DATA', '354'))
{
$this->send_data('Date: ' . gmdate('r'));
$this->send_data('To: ' . $this->to);

				

				

				$this->send_data('Subject: ' . $this->subject);

// Only send additional headers if we've got any

				$this->send_data('Subject: ' . $this->subject);

// Only send additional headers if we've got any

Zeile 228Zeile 235
				$this->send_data($this->message);
}
else

				$this->send_data($this->message);
}
else

			{

			{

				$this->fatal_error("The mail server did not understand the DATA command");
return false;

				$this->fatal_error("The mail server did not understand the DATA command");
return false;

			}

$this->send_data('.', '250');

			}

$this->send_data('.', '250');


if(!$this->keep_alive)
{


if(!$this->keep_alive)
{

Zeile 249Zeile 256

/**
* Connect to the SMTP server.


/**
* Connect to the SMTP server.

	 *

	 *

	 * @return boolean True if connection was successful
*/
function connect()

	 * @return boolean True if connection was successful
*/
function connect()

Zeile 332Zeile 339
			
if(!$this->send_data(base64_encode($this->username), '334'))
{

			
if(!$this->send_data(base64_encode($this->username), '334'))
{

				$this->fatal_error("The SMTP server rejected the supplied SMTP username");

				$this->fatal_error("The SMTP server rejected the supplied SMTP username. Reason: ".$this->get_error());

				return false;
}

if(!$this->send_data(base64_encode($this->password), '235'))

				return false;
}

if(!$this->send_data(base64_encode($this->password), '235'))

			{
$this->fatal_error("The SMTP server rejected the supplied SMTP password");
return false;

			{
$this->fatal_error("The SMTP server rejected the supplied SMTP password. Reason: ".$this->get_error());
return false;

			}
}
else if(in_array("PLAIN", $auth_methods))
{
if(!$this->send_data("AUTH PLAIN", '334'))

			}
}
else if(in_array("PLAIN", $auth_methods))
{
if(!$this->send_data("AUTH PLAIN", '334'))

			{

			{

				if($this->code == 503)
{
return true;

				if($this->code == 503)
{
return true;

Zeile 356Zeile 363
			$auth = base64_encode(chr(0).$this->username.chr(0).$this->password);
if(!$this->send_data($auth, 235))
{

			$auth = base64_encode(chr(0).$this->username.chr(0).$this->password);
if(!$this->send_data($auth, 235))
{

				$this->fatal_error("The SMTP server rejected the supplied login username and password");

				$this->fatal_error("The SMTP server rejected the supplied login username and password. Reason: ".$this->get_error());

				return false;
}
}

				return false;
}
}

Zeile 383Zeile 390
		{
$string .= $line;
if(substr($line, 3, 1) == ' ')

		{
$string .= $line;
if(substr($line, 3, 1) == ' ')

			{

			{

				break;
}
}

				break;
}
}

Zeile 428Zeile 435
					}
else
{

					}
else
{

 
						$this->set_error($rec);

						return false;
}
}

						return false;
}
}

Zeile 471Zeile 479
			fclose($this->connection);
$this->status = 0;
}

			fclose($this->connection);
$this->status = 0;
}

 
	}

/**
* Get the last error message response from the SMTP server
*
* @return string The error message response from the SMTP server
*/
function get_error()
{
if(!$this->last_error)
{
$this->last_error = "N/A";
}

return $this->last_error;
}

/**
* Set the last error message response from the SMTP server
*
* @param string The error message response
*/
function set_error($error)
{
$this->last_error = $error;

	}
}
?>

	}
}
?>