コード例 #1
0
 /**
  * Returns MailHelper wrapper for Swift_Message via $helper->message
  *
  * @param bool $cleanSlate False to preserve current settings, i.e. to process batched emails
  *
  * @return MailHelper
  */
 public function getMailer($cleanSlate = true)
 {
     if ($this->mailHelper == null) {
         $this->mailHelper = new MailHelper($this, $this->container->get('mailer'), array($this->getParameter('mailer_from_email') => $this->getParameter('mailer_from_name')));
     } else {
         $this->mailHelper->reset($cleanSlate);
     }
     return $this->mailHelper;
 }
コード例 #2
0
ファイル: FormSubscriber.php プロジェクト: dongilbert/mautic
 /**
  * @param Events\SubmissionEvent $event
  */
 public function onFormSubmitActionSendEmail(Events\SubmissionEvent $event)
 {
     if (!$event->checkContext('form.email')) {
         return;
     }
     // replace line brakes with <br> for textarea values
     if ($tokens = $event->getTokens()) {
         foreach ($tokens as $token => &$value) {
             $value = nl2br(html_entity_decode($value));
         }
     }
     $config = $event->getActionConfig();
     $lead = $event->getSubmission()->getLead();
     $leadEmail = $lead->getEmail();
     $emails = $this->getEmailsFromString($config['to']);
     if (!empty($emails)) {
         $this->mailer->setTo($emails);
         if (!empty($leadEmail)) {
             // Reply to lead for user convenience
             $this->mailer->setReplyTo($leadEmail);
         }
         if (!empty($config['cc'])) {
             $emails = $this->getEmailsFromString($config['cc']);
             $this->mailer->setCc($emails);
         }
         if (!empty($config['bcc'])) {
             $emails = $this->getEmailsFromString($config['bcc']);
             $this->mailer->setBcc($emails);
         }
         $this->mailer->setSubject($config['subject']);
         $this->mailer->addTokens($tokens);
         $this->mailer->setBody($config['message']);
         $this->mailer->parsePlainText($config['message']);
         $this->mailer->send(true);
     }
     if ($config['copy_lead'] && !empty($leadEmail)) {
         // Send copy to lead
         $this->mailer->reset();
         $this->mailer->setLead($lead->getProfileFields());
         $this->mailer->setTo($leadEmail);
         $this->mailer->setSubject($config['subject']);
         $this->mailer->addTokens($tokens);
         $this->mailer->setBody($config['message']);
         $this->mailer->parsePlainText($config['message']);
         $this->mailer->send(true);
     }
 }