#691 Notifications not sent if some recicipients have an empty address

SVN:trunk[2653]
This commit is contained in:
Romain Quetiez
2013-03-21 14:42:34 +00:00
parent 2cc89ad167
commit 57629051bd
2 changed files with 27 additions and 5 deletions

View File

@@ -213,8 +213,12 @@ class ActionEmail extends ActionNotification
$aRecipients = array();
while ($oObj = $oSet->Fetch())
{
$aRecipients[] = $oObj->Get($sEmailAttCode);
$this->m_iRecipients++;
$sAddress = trim($oObj->Get($sEmailAttCode));
if (strlen($sAddress) > 0)
{
$aRecipients[] = $sAddress;
$this->m_iRecipients++;
}
}
return implode(', ', $aRecipients);
}

View File

@@ -187,11 +187,29 @@ class EMail
return $this->m_oMessage->getSubject();
}
/**
* Helper to transform and sanitize addresses
* - get rid of empty addresses
*/
protected function AddressStringToArray($sAddressCSVList)
{
$aAddresses = array();
foreach(explode(',', $sAddressCSVList) as $sAddress)
{
$sAddress = trim($sAddress);
if (strlen($sAddress) > 0)
{
$aAddresses[] = $sAddress;
}
}
return $aAddresses;
}
public function SetRecipientTO($sAddress)
{
if (!empty($sAddress))
{
$aAddresses = explode(', ', $sAddress);
$aAddresses = $this->AddressStringToArray($sAddress);
$this->m_oMessage->setTo($aAddresses);
}
}
@@ -226,7 +244,7 @@ class EMail
{
if (!empty($sAddress))
{
$aAddresses = explode(', ', $sAddress);
$aAddresses = $this->AddressStringToArray($sAddress);
$this->m_oMessage->setCc($aAddresses);
}
}
@@ -235,7 +253,7 @@ class EMail
{
if (!empty($sAddress))
{
$aAddresses = explode(', ', $sAddress);
$aAddresses = $this->AddressStringToArray($sAddress);
$this->m_oMessage->setBcc($aAddresses);
}
}