diff --git a/lib/Cake/Network/CakeEmail.php b/lib/Cake/Network/CakeEmail.php
index 48be9bd03..e23b9361e 100644
--- a/lib/Cake/Network/CakeEmail.php
+++ b/lib/Cake/Network/CakeEmail.php
@@ -199,6 +199,30 @@ class CakeEmail {
 		}
 	}
 
+/**
+ * Set From
+ *
+ * @param string $email
+ * @param string $name
+ * @return void
+ */
+	public function setFrom($email, $name = null) {
+		if ($name !== null) {
+			$this->_from = array($email => $name);
+		} else {
+			$this->_from = array($email => $email);
+		}
+	}
+
+/**
+ * Get the From information
+ *
+ * @return array Key is email, Value is name. If Key is equal of Value, the name is not specified
+ */
+	public function getFrom() {
+		return $this->_from;
+	}
+
 /**
  * Sets headers for the message
  *
diff --git a/lib/Cake/tests/Case/Network/CakeEmailTest.php b/lib/Cake/tests/Case/Network/CakeEmailTest.php
index db3a301bf..be613e376 100644
--- a/lib/Cake/tests/Case/Network/CakeEmailTest.php
+++ b/lib/Cake/tests/Case/Network/CakeEmailTest.php
@@ -25,6 +25,33 @@ App::import('Core', 'CakeEmail');
  */
 class CakeEmailTest extends CakeTestCase {
 
+/**
+ * setUp
+ *
+ * @return void
+ */
+	public function setUp() {
+		parent::setUp();
+		$this->CakeEmail = new CakeEmail();
+	}
+
+/**
+ * testFrom method
+ *
+ * @return void
+ */
+	public function testFrom() {
+		$this->assertIdentical($this->CakeEmail->getFrom(), array());
+
+		$this->CakeEmail->setFrom('cake@cakephp.org');
+		$expected = array('cake@cakephp.org' => 'cake@cakephp.org');
+		$this->assertIdentical($this->CakeEmail->getFrom(), $expected);
+
+		$this->CakeEmail->setFrom('cake@cakephp.org', 'CakePHP');
+		$expected = array('cake@cakephp.org' => 'CakePHP');
+		$this->assertIdentical($this->CakeEmail->getFrom(), $expected);
+	}
+
 /**
  * testHeaders method
  *