/**
  * Save mail account and send test message
  *
  * @service email_setting write
  * @param $fields
  */
 public function sendTestMail(Gpf_Rpc_Params $params)
 {
     $form = $this->save($params);
     if (!strlen($form->getFieldValue("send_test_mail_to"))) {
         $form->setErrorMessage($this->_('Failed to send test mail. Please fill in recipient of test mail first.'));
         return $form;
     }
     $mailAccount = new Gpf_Db_MailAccount();
     $mailAccount->setAsDefault(true);
     $mailAccount->loadFromData(array(Gpf_Db_Table_MailAccounts::IS_DEFAULT));
     $testMail = new Gpf_Mail_EmailAccountTestMail();
     $testMail->setMailAccount($mailAccount);
     try {
         $testMail->addRecipient($form->getFieldValue("send_test_mail_to"));
         $testMail->sendNow();
         $form->setInfoMessage($this->_("Test mail scheduled, check outbox if it was sent."));
     } catch (Exception $e) {
         $form->setErrorMessage($e->getMessage());
     }
     return $form;
 }
Пример #2
0
 /**
  * Return default mail account from database
  *
  * @return Gpf_Db_MailAccount
  */
 public function getDefaultMailAccount()
 {
     $mailAccount = new Gpf_Db_MailAccount();
     $mailAccount->set(self::IS_DEFAULT, Gpf::YES);
     try {
         $mailAccount->loadFromData(array(self::IS_DEFAULT));
     } catch (Gpf_Exception $e) {
         throw new Gpf_Exception($this->_("Failed to load default mail account. Please check your mail account settings."));
     }
     return $mailAccount;
 }