Merge pull request #3319 from dgmike/issue-3313

Verifying From header before send mail
diff --git a/system/language/english/email_lang.php b/system/language/english/email_lang.php
index fdd823b..b6f03c7 100644
--- a/system/language/english/email_lang.php
+++ b/system/language/english/email_lang.php
@@ -41,6 +41,7 @@
 $lang['email_invalid_address'] = 'Invalid email address: %s';
 $lang['email_attachment_missing'] = 'Unable to locate the following email attachment: %s';
 $lang['email_attachment_unreadable'] = 'Unable to open this attachment: %s';
+$lang['email_no_from'] = 'Cannot send mail with no "From" header.';
 $lang['email_no_recipients'] = 'You must include recipients: To, Cc, or Bcc';
 $lang['email_send_failure_phpmail'] = 'Unable to send email using PHP mail(). Your server might not be configured to send mail using this method.';
 $lang['email_send_failure_sendmail'] = 'Unable to send email using PHP Sendmail. Your server might not be configured to send mail using this method.';
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index a55d2ff..5cb1689 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -1630,6 +1630,12 @@
 	 */
 	public function send($auto_clear = TRUE)
 	{
+		if ( ! isset($this->_headers['From']))
+		{
+			$this->_set_error_message('lang:email_no_from');
+			return FALSE;
+		}
+
 		if ($this->_replyto_flag === FALSE)
 		{
 			$this->reply_to($this->_headers['From']);