/** * Send a multi-part HTML email. * * @return bool */ function sendHTML($to, $from, $subject, $htmlContent, $attachedFiles = false, $customheaders = false, $plainContent = false, $inlineImages = false) { $message = $this->initEmail($to, $from, $subject, $attachedFiles, $customheaders); // set up the body // @todo inlineimages $message['html'] = $htmlContent; if ($plainContent) { $message['text'] = $plainContent; } // send and return try { $mail = $this->initMailer(); $result = $mail->messages->send($message, $this->async, $this->ip_pool, $this->send_at); foreach ($result as $sentmessage) { $MandrillMessage = new MandrillMessage(); $MandrillMessage->MandrillID = $sentmessage['_id']; $MandrillMessage->To = $to; $MandrillMessage->From = $from; $MandrillMessage->Subject = $subject; if (isset($sentmessage['status'])) { $MandrillMessage->MandrillStatus = $sentmessage['status']; } if (isset($sentmessage['reject_reason'])) { $MandrillMessage->MandrillRejectReason = $sentmessage['reject_reason']; } $MandrillMessage->MandrillMessage = json_encode($message); $MandrillMessage->write(); } return true; } catch (Mandrill_Error $e) { // Mandrill errors are thrown as exceptions user_error('A mandrill error occurred: ' . get_class($e) . ' - ' . $e->getMessage()); // A mandrill error occurred: Mandrill_Unknown_Subaccount - No subaccount exists with the id 'customer-123' } catch (Exception $e) { error_log('Unknown'); return $this->httpError(400, 'An error occurred'); } }