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