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 46 */
47 47 function send($sToEmail, $sSubject, $sBody, $sFromEmail = "", $sFromName = "") {
48 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 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 /**
... ...