/** * @covers ZurmoSendGridMailer::sendTestEmail * @covers ZurmoSendGridMailer::sendEmail */ public function testSendEmail() { $sendGridEmailAccount = new SendGridEmailAccount(); $sendGridEmailAccount->apiUsername = static::$apiUsername; $sendGridEmailAccount->apiPassword = ZurmoPasswordSecurityUtil::encrypt(static::$apiPassword); $from = array('name' => 'Test User', 'address' => '*****@*****.**'); $emailMessage = EmailMessageHelper::processAndCreateTestEmailMessage($from, static::$testEmailAddress); $mailer = new ZurmoSendGridMailer($emailMessage, $sendGridEmailAccount); $emailMessage = $mailer->sendTestEmail(true); $this->assertEquals('EmailMessage', get_class($emailMessage)); $this->assertEquals(EmailFolder::TYPE_SENT, $emailMessage->folder->type); }
/** * Send Test Message * @param SendGridWebApiConfigurationForm $configurationForm * @param string $fromNameToSendMessagesFrom * @param string $fromAddressToSendMessagesFrom */ public static function sendTestMessage($configurationForm, $fromNameToSendMessagesFrom = null, $fromAddressToSendMessagesFrom = null) { if ($configurationForm->aTestToAddress != null) { $sendGridEmailAccount = new SendGridEmailAccount(); $sendGridEmailAccount->apiUsername = $configurationForm->username; $sendGridEmailAccount->apiPassword = ZurmoPasswordSecurityUtil::encrypt($configurationForm->password); $isUser = false; if ($fromNameToSendMessagesFrom != null && $fromAddressToSendMessagesFrom != null) { $isUser = true; $from = array('name' => $fromNameToSendMessagesFrom, 'address' => $fromAddressToSendMessagesFrom); } else { $user = BaseControlUserConfigUtil::getUserToRunAs(); $userToSendMessagesFrom = User::getById((int) $user->id); $from = array('name' => Yii::app()->emailHelper->resolveFromNameForSystemUser($userToSendMessagesFrom), 'address' => Yii::app()->emailHelper->resolveFromAddressByUser($userToSendMessagesFrom)); } $emailMessage = EmailMessageHelper::processAndCreateTestEmailMessage($from, $configurationForm->aTestToAddress); $mailer = new ZurmoSendGridMailer($emailMessage, $sendGridEmailAccount); $emailMessage = $mailer->sendTestEmail($isUser); $messageContent = EmailHelper::prepareMessageContent($emailMessage); } else { $messageContent = Zurmo::t('EmailMessagesModule', 'A test email address must be entered before you can send a test email.') . "\n"; } return $messageContent; }