Esempio n. 1
0
 /**
  * Send an e-mail to this user
  *
  * @param string $subjectTemplate A subject template in which {fields} are replaced
  * @param string $bbBodyTemplate A BB Code body template in which {fields} are replaced
  * @param boolean $useResetFields When true get a reset key for this user
  * @param string $locale Optional locale
  * @return mixed String or array of warnings when something went wrong
  */
 public function sendMail($subjectTemplate, $bbBodyTemplate, $useResetFields = false, $locale = null)
 {
     if ($useResetFields && !$this->canResetPassword()) {
         return $this->_('Trying to send a password reset to a user that cannot be reset.');
     }
     $mail = $this->loader->getMail();
     $mail->setTemplateStyle($this->getBaseOrganization()->getStyle());
     $mail->setFrom($this->getFrom());
     $mail->addTo($this->getEmailAddress(), $this->getFullName(), $this->project->getEmailBounce());
     if ($bcc = $this->project->getEmailBcc()) {
         $mail->addBcc($bcc);
     }
     if ($useResetFields) {
         $fields = $this->getResetPasswordMailFields($locale);
     } else {
         $fields = $this->getMailFields($locale);
     }
     // \MUtil_Echo::track($fields, $bbBodyTemplate);
     $fields = \MUtil_Ra::braceKeys($fields, '{', '}');
     $mail->setSubject(strtr($subjectTemplate, $fields));
     $mail->setBodyBBCode(strtr($bbBodyTemplate, $fields));
     try {
         $mail->send();
         return null;
     } catch (\Exception $e) {
         return array($this->_('Unable to send e-mail.'), $e->getMessage());
     }
 }
 /**
  * Send the mail
  */
 public function send()
 {
     $mail = $this->loader->getMail();
     $mail->setFrom($this->from);
     $mail->addTo($this->to, '', $this->bounceCheck());
     if (isset($this->project->email['bcc'])) {
         $mail->addBcc($this->project->email['bcc']);
     }
     $mail->setSubject($this->applyFields($this->subject));
     $mail->setTemplateStyle($this->getTemplateStyle());
     if ($this->bodyBb) {
         $mail->setBodyBBCode($this->applyFields($this->bodyBb));
     } elseif ($this->bodyHtml) {
         $mail->setBodyHtml($this->applyFields($this->bodyHtml));
     } elseif ($this->bodyText) {
         $mail->setBodyText($this->applyFields($this->bodyText));
     }
     $this->beforeMail();
     $mail->send();
     $this->afterMail();
 }