/** * Sends mail to recipient(s) if log entries are present. Note that both * plaintext and HTML portions of email are handled here. * * @return void */ public function shutdown() { // If there are events to mail, use them as message body. Otherwise, // there is no mail to be sent. if (empty($this->_eventsToMail)) { return; } if ($this->_subjectPrependText !== null) { // Tack on the summary of entries per-priority to the subject // line and set it on the Zend_Mail object. $numEntries = $this->_getFormattedNumEntriesPerPriority(); $this->_mail->setSubject( "{$this->_subjectPrependText} ({$numEntries})"); } // Always provide events to mail as plaintext. $this->_mail->setBodyText(implode('', $this->_eventsToMail)); // If a Zend_Layout instance is being used, set its "events" // value to the lines formatted for use with the layout. if ($this->_layout) { // Set the required "messages" value for the layout. Here we // are assuming that the layout is for use with HTML. $this->_layout->events = implode('', $this->_layoutEventsToMail); // If an exception occurs during rendering, convert it to a notice // so we can avoid an exception thrown without a stack frame. try { $this->_mail->setBodyHtml($this->_layout->render()); } catch (\Exception $e) { trigger_error( "exception occurred when rendering layout; " . "unable to set html body for message; " . "message = {$e->getMessage()}; " . "code = {$e->getCode()}; " . "exception class = " . get_class($e), E_USER_NOTICE); } } // Finally, send the mail. If an exception occurs, convert it into a // warning-level message so we can avoid an exception thrown without a // stack frame. try { $this->_mail->send(); } catch (\Exception $e) { trigger_error( "unable to send log entries via email; " . "message = {$e->getMessage()}; " . "code = {$e->getCode()}; " . "exception class = " . get_class($e), E_USER_WARNING); } }
/** * E-mails the formatted text as attachment. * * @param string $formatedText */ public function write($formatedText) { $mail = new Mail(); $mail->addTo($this->to); $mail->setFrom($this->from); $mail->setSubject($this->subject); $mail->setBodyHtml(file_get_contents($this->emailTemplate)); $at = new Part($formatedText); $at->type = 'text/html'; $at->disposition = Mime::DISPOSITION_INLINE; $at->encoding = Mime::ENCODING_BASE64; $at->filename = $this->attachmentName; $at->description = 'LiveTest Attachment'; $mail->addAttachment($at); $mail->send(); }
private function writeMail($bodyText, $atText = null) { $mail = new Mail(); $mail->addTo($this->to); $mail->setFrom($this->from); $mail->setSubject($this->subject); $mail->setBodyHtml(file_get_contents($this->template) . $bodyText); if ($at !== null) { $at = new Part($atText); $at->type = 'text/html'; $at->disposition = Mime::DISPOSITION_INLINE; $at->encoding = Mime::ENCODING_BASE64; $at->filename = $this->attachmentName; $at->description = 'LiveTest Attachment'; $mail->addAttachment($at); } $mail->send(); }
public function testGetJustBodyHtml() { $text = "<html><head></head><body><p>Some body text</p></body></html>"; $mail = new Mail\Mail(); $mail->setBodyHtml($text); $this->assertContains('Some body text', $mail->getBodyHtml(true)); }