Commit fdcd047e6a68aa7f6ced3ae76255fcb6302de7c8

Authored by Michael Joseph
1 parent d5efc47d

added check for valid email address before attempting to send mail


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@2087 c91229c3-7414-0410-bfa2-8a42b809f60b
Showing 1 changed file with 36 additions and 31 deletions
lib/email/Email.inc
@@ -46,40 +46,45 @@ class Email { @@ -46,40 +46,45 @@ class Email {
46 */ 46 */
47 function send($sToEmail, $sSubject, $sBody, $sFromEmail = "", $sFromName = "") { 47 function send($sToEmail, $sSubject, $sBody, $sFromEmail = "", $sFromName = "") {
48 global $default, $lang_err_email; 48 global $default, $lang_err_email;
49 -  
50 - // set defaults for optional params  
51 - $sFromEmail = ((strlen($sFromEmail) == 0) || ($sFromEmail == "")) ? $default->system->get("emailFrom") : $sFromEmail;  
52 - $sFromName = ((strlen($sFromName) == 0) || ($sFromName == "")) ? $default->system->get("emailFromName") : $sFromName;  
53 -  
54 - // set optional params  
55 - if ((strlen($sFromEmail) > 0) && ($sFromEmail != "")) {  
56 - $this->oMailer->From = $sFromEmail;  
57 - }  
58 - if ((strlen($sFromName) > 0) && ($sFromName != "")) {  
59 - $this->oMailer->FromName = $sFromName;  
60 - }  
61 49
62 - // if there are multiple addresses (; separated)  
63 - $aEmailAddresses = array();  
64 - if (strpos($sToEmail, ";") > 0) {  
65 - // explode them  
66 - $aEmailAddresses = explode(";", $sToEmail);  
67 - for ($i=0; $i<count($aEmailAddresses); $i++) {  
68 - $this->oMailer->AddAddress($aEmailAddresses[$i]);  
69 - $default->log->info("Email.inc adding " . $aEmailAddresses[$i]);  
70 - } 50 + if (strlen($sToEmail) > 0) {
  51 + // set defaults for optional params
  52 + $sFromEmail = ((strlen($sFromEmail) == 0) || ($sFromEmail == "")) ? $default->system->get("emailFrom") : $sFromEmail;
  53 + $sFromName = ((strlen($sFromName) == 0) || ($sFromName == "")) ? $default->system->get("emailFromName") : $sFromName;
  54 +
  55 + // set optional params
  56 + if ((strlen($sFromEmail) > 0) && ($sFromEmail != "")) {
  57 + $this->oMailer->From = $sFromEmail;
  58 + }
  59 + if ((strlen($sFromName) > 0) && ($sFromName != "")) {
  60 + $this->oMailer->FromName = $sFromName;
  61 + }
  62 +
  63 + // if there are multiple addresses (; separated)
  64 + $aEmailAddresses = array();
  65 + if (strpos($sToEmail, ";") > 0) {
  66 + // explode them
  67 + $aEmailAddresses = explode(";", $sToEmail);
  68 + for ($i=0; $i<count($aEmailAddresses); $i++) {
  69 + $this->oMailer->AddAddress($aEmailAddresses[$i]);
  70 + $default->log->info("Email.inc adding " . $aEmailAddresses[$i]);
  71 + }
  72 + } else {
  73 + $this->oMailer->AddAddress($sToEmail);
  74 + }
  75 + $this->oMailer->Subject = stripslashes($sSubject);
  76 + $this->oMailer->Body = stripslashes($sBody);
  77 +
  78 + //send the email
  79 + if(!$this->oMailer->Send()) {
  80 + $_SESSION["errorMessage"] = $lang_err_email . " " . $this->oMailer->ErrorInfo;
  81 + return false;
  82 + }
  83 + return true;
71 } else { 84 } else {
72 - $this->oMailer->AddAddress($sToEmail); 85 + // no valid email address supplied
  86 + return false;
73 } 87 }
74 - $this->oMailer->Subject = stripslashes($sSubject);  
75 - $this->oMailer->Body = stripslashes($sBody);  
76 -  
77 - //send the email  
78 - if(!$this->oMailer->Send()) {  
79 - $_SESSION["errorMessage"] = $lang_err_email . " " . $this->oMailer->ErrorInfo;  
80 - return false;  
81 - }  
82 - return true;  
83 } 88 }
84 89
85 /** 90 /**