SettingsController::emailTest PHP Method

emailTest() public method

On postback, sends a test email to the addresses specified in the form.
public emailTest ( )
    public function emailTest()
    {
        if (!Gdn::session()->checkPermission('Garden.Community.Manage')) {
            throw permissionException();
        }
        $this->setHighlightRoute('dashboard/settings/email');
        $this->Form = new Gdn_Form();
        $validation = new Gdn_Validation();
        $configurationModel = new Gdn_ConfigurationModel($validation);
        $this->Form->setModel($configurationModel);
        if ($this->Form->authenticatedPostBack() !== false) {
            $addressList = $this->Form->getFormValue('EmailTestAddresses');
            $addresses = explode(',', $addressList);
            if (sizeof($addresses) > 10) {
                $this->Form->addError(sprintf(t('Too many addresses! We\'ll send up to %s addresses at once.'), '10'));
            } else {
                $emailer = $this->getTestEmail();
                $emailer->to($addresses);
                $emailer->subject(sprintf(t('Test email from %s'), c('Garden.Title')));
                try {
                    if ($emailer->send()) {
                        $this->informMessage(t("The email has been sent."));
                    } else {
                        $this->Form->addError(t('Error sending email. Please review the addresses and try again.'));
                    }
                } catch (Exception $e) {
                    if (debug()) {
                        throw $e;
                    }
                }
            }
        }
        $this->render();
    }