Пример #1
0
 public function testMarkEmailAddressInvalid()
 {
     markEmailAddressInvalid($this->emailAddress);
     $sea = new SugarEmailAddress();
     $rs = $sea->retrieve_by_string_fields(array('email_address_caps' => trim(strtoupper($this->emailAddress))));
     $this->assertTrue((bool) $rs->invalid_email);
 }
Пример #2
0
/**
 * Create a bounced log campaign entry
 *
 * @param array $row
 * @param Email $email
 * @param string $email_description
 * @return string
 */
function createBouncedCampaignLogEntry($row, $email, $email_description)
{
    $GLOBALS['log']->debug("Creating bounced email campaign log");
    $bounce = new CampaignLog();
    $bounce->campaign_id = $row['campaign_id'];
    $bounce->target_tracker_key = $row['target_tracker_key'];
    $bounce->target_id = $row['target_id'];
    $bounce->target_type = $row['target_type'];
    $bounce->list_id = $row['list_id'];
    $bounce->marketing_id = $row['marketing_id'];
    $bounce->activity_date = $email->date_created;
    $bounce->related_type = 'Emails';
    $bounce->related_id = $email->id;
    //do we have the phrase permanent error in the email body.
    if (preg_match('/permanent[ ]*error/', $email_description)) {
        $bounce->activity_type = 'invalid email';
        markEmailAddressInvalid($email);
    } else {
        $bounce->activity_type = 'send error';
    }
    $return_id = $bounce->save();
    return $return_id;
}