コード例 #1
0
 public function doSearch($data, Form $form)
 {
     $values = array();
     foreach ($form->Fields() as $field) {
         $values[$field->getName()] = $field->datavalue();
     }
     // If we have a subaccount defined, we need to restrict the query to this subaccount
     if ($subaccount = MandrillMailer::getSubaccount()) {
         if (empty($values['Query'])) {
             $values['Query'] = 'subaccount:' . $subaccount;
         } else {
             $values['Query'] = $values['Query'] . ' AND subaccount:' . $subaccount;
         }
     }
     Session::set('MandrilAdminSearch', $values);
     Session::save();
     return $this->redirectBack();
 }
コード例 #2
0
 /**
  * Resolve default send to address
  * @param string $to
  * @return string
  */
 public static function resolveDefaultToEmail($to = null)
 {
     // In case of multiple recipients, do not validate anything
     if (is_array($to) || strpos($to, ',') !== false) {
         return $to;
     }
     $original_to = $to;
     if (!empty($to)) {
         $to = MandrillMailer::get_email_from_rfc_email($to);
         if (filter_var($to, FILTER_VALIDATE_EMAIL)) {
             return $original_to;
         }
     }
     $config = SiteConfig::current_site_config();
     if (!empty($config->DefaultToEmail)) {
         return $config->DefaultToEmail;
     }
     if ($admin = Email::config()->admin_email) {
         return $admin;
     }
     return false;
 }
コード例 #3
0
 public function run($request)
 {
     $config = SiteConfig::current_site_config();
     $default = Email::config()->admin_email;
     $default_config = $config->DefaultFromEmail;
     $member = Member::currentUser();
     $to = $request->getVar('email');
     $template = $request->getVar('template');
     $disabled = $request->getVar('disabled');
     if ($disabled) {
         MandrillMailer::setSendingDisabled();
     }
     if ($default) {
         echo "Default email address is {$default}<br/>";
     } else {
         echo "<div style='color:red'>Default email is not set. You should define one!</div>";
     }
     if ($default_config) {
         echo "Default email set in siteconfig is {$default_config}<br/>";
     }
     echo "The email will be sent to admin email, current member or an email passed in the url, like ?email=myemail@test.com<br/>";
     echo "A default email is used by default. You can use a preset template by setting ?template=mytemplate<br/>";
     echo "To prevent email from being sent, you can pass ?disabled=1<br/>";
     echo '<hr/>';
     if (!$default && $default_config) {
         $default = $default_config;
     }
     if (!$member && !$to) {
         if (!$default) {
             echo 'There are no recipient defined!';
             exit;
         } else {
             $to = $default;
         }
     }
     if ($template) {
         $emailTemplate = EmailTemplate::getByCode($template);
         $email = $emailTemplate->getEmail();
         $email->setSubject('Template ' . $template . ' from ' . $config->Title);
         $email->setSampleRequiredObjects();
     } else {
         $email = new MandrillEmail();
         $email->setSampleContent();
         $email->setSubject('Sample email from ' . $config->Title);
     }
     if (!$to) {
         $email->setToMember($member);
     } else {
         $member = Member::get()->filter('Email', $to)->first();
         if ($member) {
             $email->setToMember($member);
         } else {
             $email->setTo($to);
         }
     }
     echo 'Sending to ' . htmlentities($email->To()) . '<br/>';
     echo 'Using theme : ' . $email->getTheme() . '<br/>';
     echo '<hr/>';
     $res = $email->send();
     // Success!
     if ($res && is_array($res)) {
         echo '<div style="color:green">Successfully sent your email</div>';
         echo 'Recipient : ' . $res[0] . '<br/>';
         echo 'Additionnal headers : <br/>';
         foreach ($res[3] as $k => $v) {
             echo "{$k} : {$v}" . '<br/>';
         }
         echo 'Content : ' . $res[2];
     } else {
         echo '<div style="color:red">Failed to send email</div>';
         echo 'Error is : ' . MandrillMailer::getInstance()->getLastError();
     }
 }
コード例 #4
0
 /**
  * Get sender as member
  *
  * @return Member
  */
 public function getFromMember()
 {
     if (!$this->from_member && $this->from) {
         $email = MandrillMailer::get_email_from_rfc_email($this->from);
         $member = Member::get()->filter(array('Email' => $email))->first();
         if ($member) {
             $this->setFromMember($member);
         }
     }
     return $this->from_member;
 }
コード例 #5
0
<?php

// Autosetup if key is defined in _ss_environment
if (defined('MANDRILL_API_KEY') && MANDRILL_API_KEY !== '') {
    MandrillMailer::setAsMailer(MANDRILL_API_KEY);
}
コード例 #6
0
<?php

// Autosetup if key is defined in _ss_environment or yml
if (defined('MANDRILL_API_KEY') && MANDRILL_API_KEY !== '' || Config::inst()->get('MandrillMailer', 'mandrill_api_key')) {
    MandrillMailer::setAsMailer();
}