/** * test case for add( ) * test with empty params. */ function testFormatRFC822() { $values = array(array('name' => "Test User", 'email' => "*****@*****.**", 'result' => "Test User <*****@*****.**>"), array('name' => '"Test User"', 'email' => "*****@*****.**", 'result' => "Test User <*****@*****.**>"), array('name' => "User, Test", 'email' => "*****@*****.**", 'result' => '"User, Test" <*****@*****.**>'), array('name' => '"User, Test"', 'email' => "*****@*****.**", 'result' => '"User, Test" <*****@*****.**>'), array('name' => '"Test User"', 'email' => "*****@*****.**", 'result' => '"Test User" <*****@*****.**>', 'useQuote' => TRUE), array('name' => "User, Test", 'email' => "*****@*****.**", 'result' => '"User, Test" <*****@*****.**>', 'useQuote' => TRUE)); foreach ($values as $value) { $result = CRM_Utils_Mail::formatRFC822Email($value['name'], $value['email'], CRM_Utils_Array::value('useQuote', $value, FALSE)); $this->assertEquals($result, $value['result'], 'Expected encoding does not match'); } }
/** * Basic send. */ public function testSend() { $contact_params_1 = array('first_name' => substr(sha1(rand()), 0, 7), 'last_name' => 'Anderson', 'email' => substr(sha1(rand()), 0, 7) . '@example.org', 'contact_type' => 'Individual'); $contact_id_1 = $this->individualCreate($contact_params_1); $contact_params_2 = array('first_name' => substr(sha1(rand()), 0, 7), 'last_name' => 'Xylophone', 'email' => substr(sha1(rand()), 0, 7) . '@example.org', 'contact_type' => 'Individual'); $contact_id_2 = $this->individualCreate($contact_params_2); $subject = 'Test spool'; $params = array('from' => CRM_Utils_Mail::formatRFC822Email($contact_params_1['first_name'] . " " . $contact_params_1['last_name'], $contact_params_1['email']), 'toName' => $contact_params_2['first_name'] . " " . $contact_params_2['last_name'], 'toEmail' => $contact_params_2['email'], 'subject' => $subject, 'text' => self::$bodytext, 'html' => "<p>\n" . self::$bodytext . '</p>'); CRM_Utils_Mail::send($params); $mail = $this->_mut->getMostRecentEmail('raw'); $this->assertContains("Subject: {$subject}", $mail); $this->assertContains(self::$bodytext, $mail); $mail = $this->_mut->getMostRecentEmail('ezc'); $this->assertEquals($subject, $mail->subject); $this->assertContains($contact_params_1['email'], $mail->from->email, 'From address incorrect.'); $this->assertContains($contact_params_2['email'], $mail->to[0]->email, 'Recipient incorrect.'); $context = new ezcMailPartWalkContext(array(get_class($this), 'mailWalkCallback')); $mail->walkParts($context, $mail); }