LOG4PHP-153: Made LoggerAppenderMailEvent deprecated

A warning will be issued if used. Added a warning to docs.

Signed-off-by: Ivan Habunek <ihabunek@apache.org>
diff --git a/src/main/php/appenders/LoggerAppenderMailEvent.php b/src/main/php/appenders/LoggerAppenderMailEvent.php
index 5053c67..75fb4ca 100644
--- a/src/main/php/appenders/LoggerAppenderMailEvent.php
+++ b/src/main/php/appenders/LoggerAppenderMailEvent.php
@@ -38,6 +38,8 @@
  * @subpackage appenders
  * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
  * @link http://logging.apache.org/log4php/docs/appenders/mail-event.html Appender documentation
+ * @deprecated LoggerAppenderMailEvent is deprecated and will be removed in a
+ *   future release. Please use LoggerAppenderMail instead.
  */
 class LoggerAppenderMailEvent extends LoggerAppender {
 
@@ -91,7 +93,10 @@
 			$this->close = true;
 			return;
 		}
-		
+
+		$this->warn("LoggerAppenderMailEvent is deprecated and will be removed in a future release." . 
+			"Please use LoggerAppenderMail instead.");
+
 		$this->closed = false;
 	}
 
diff --git a/src/site/xdoc/docs/appenders/mail-event.xml b/src/site/xdoc/docs/appenders/mail-event.xml
index b2adeb8..768210f 100644
--- a/src/site/xdoc/docs/appenders/mail-event.xml
+++ b/src/site/xdoc/docs/appenders/mail-event.xml
@@ -30,6 +30,13 @@
 			<p>This appender is similar to <code><a href="mail.html">LoggerAppenderMail</a></code>, except that it 

   			sends each each log event in an individual email message at the time when it occurs.</p>

 			

+		    <div class="alert alert-error">

+		        <span class="alert-heading">Deprecated!</span>

+		        <p>LoggerAppenderMailEvent is deprecated and will be removed in a future release. Please use 

+		        <a href="mail.html">LoggerAppenderMail</a> with <code>bufferSize</code> parameter set to 

+				<code>1</code> instead.</p>

+            </div>

+			

 			<subsection name="Layout">

 				<p>This appender requires a layout. If no layout is specified in configuration, 

 				<code><a href="../layouts/simple.html">LoggerLayoutSimple</a></code> will be used by default.</p>

diff --git a/src/test/php/appenders/LoggerAppenderMailEventTest.php b/src/test/php/appenders/LoggerAppenderMailEventTest.php
index 0cfb4df..10ecd80 100644
--- a/src/test/php/appenders/LoggerAppenderMailEventTest.php
+++ b/src/test/php/appenders/LoggerAppenderMailEventTest.php
@@ -31,7 +31,18 @@
 		$appender = new LoggerAppenderMailEvent();
 		self::assertTrue($appender->requiresLayout());
 	}
-	
+
+	/**
+	 * @expectedException PHPUnit_Framework_Error
+	 * @expectedExceptionMessage LoggerAppenderMailEvent is deprecated and will be removed in a future release.Please use LoggerAppenderMail instead.
+	 */
+	public function checkDeprecationWarning() {
+		$appender = new LoggerAppenderMailEvent("myname");
+		$appender->setTo('test@example.com');
+		$appender->setFrom('Testsender');
+		$appender->activateOptions();
+	}
+
 	public function testMail() {
 		$appender = new LoggerAppenderMailEvent("myname");
 		
@@ -41,7 +52,7 @@
 		$appender->setTo('test@example.com');
 		$appender->setFrom('Testsender');
 		
-		$appender->activateOptions();
+		@$appender->activateOptions(); // Mute deprecation warning.
 		$event = new LoggerLoggingEvent("LoggerAppenderEchoTest", new Logger("TEST"), LoggerLevel::getLevelError(), "testmessage");
 		 
 		ob_start();
@@ -66,15 +77,15 @@
 		$appender->activateOptions();
 	}
 	
-	/**

+	/**
 	 * Check an error is reported if 'from' is not set.
 	 * @expectedException PHPUnit_Framework_Error
-	 * @expectedExceptionMessage Required parameter 'from' not set.

+	 * @expectedExceptionMessage Required parameter 'from' not set.
 	 */
-	public function testEmptyFrom() {

-		$appender = new LoggerAppenderMailEvent("myname");

-		$appender->setLayout(new LoggerLayoutSimple());

-		$appender->setTo('info@example.com');

-		$appender->activateOptions();

+	public function testEmptyFrom() {
+		$appender = new LoggerAppenderMailEvent("myname");
+		$appender->setLayout(new LoggerLayoutSimple());
+		$appender->setTo('info@example.com');
+		$appender->activateOptions();
 	}
 }