/** * 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; }
/** * 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; }