/** * Get the sender from PostmanMessage and add it to the Postman_Zend_Mail object * * @param PostmanMessage $message * @param Postman_Zend_Mail $mail * @return PostmanEmailAddress */ public function addFrom(PostmanMessage $message, Postman_Zend_Mail $mail) { $sender = $message->getFromAddress(); // now log it and push it into the message $senderEmail = $sender->getEmail(); $senderName = $sender->getName(); assert(!empty($senderEmail)); if (!empty($senderName)) { $mail->setFrom($senderEmail, $senderName); } else { $mail->setFrom($senderEmail); } return $sender; }
/** * Aggregates all the content into a Message to be sent to the MailEngine * * @param unknown $to * @param unknown $subject * @param unknown $body * @param unknown $headers * @param unknown $attachments */ private function populateMessageFromWpMailParams(PostmanMessage $message, $to, $subject, $body, $headers, $attachments) { $message->addHeaders($headers); $message->setBody($body); $message->setSubject($subject); $message->addTo($to); $message->setAttachments($attachments); return $message; }
/** * Add attachments to the message * * @param Postman_Zend_Mail $mail */ private function addAttachmentsToMail(PostmanMessage $message) { $attachments = $message->getAttachments(); if (isset($attachments)) { $this->mandrillMessage['attachments'] = array(); if (!is_array($attachments)) { // WordPress may a single filename or a newline-delimited string list of multiple filenames $attArray = explode(PHP_EOL, $attachments); } else { $attArray = $attachments; } // otherwise WordPress sends an array foreach ($attArray as $file) { if (!empty($file)) { $this->logger->debug("Adding attachment: " . $file); $attachment = array('type' => 'attachment', 'name' => basename($file), 'content' => file_get_contents($file)); array_push($this->mandrillMessage['attachments'], $attachment); } } } }
/** * Creates a Log object for use by writeToEmailLog() * * @param PostmanMessage $message * @param unknown $transcript * @param unknown $statusMessage * @param unknown $success * @param PostmanModuleTransport $transport * @return PostmanEmailLog */ private function createLog(PostmanEmailLog $log, PostmanMessage $message = null, $transcript, $statusMessage, $success, PostmanModuleTransport $transport) { if ($message) { $log->sender = $message->getFromAddress()->format(); $log->toRecipients = $this->flattenEmails($message->getToRecipients()); $log->ccRecipients = $this->flattenEmails($message->getCcRecipients()); $log->bccRecipients = $this->flattenEmails($message->getBccRecipients()); $log->subject = $message->getSubject(); $log->body = $message->getBody(); if (null !== $message->getReplyTo()) { $log->replyTo = $message->getReplyTo()->format(); } } $log->success = $success; $log->statusMessage = $statusMessage; $log->transportUri = PostmanTransportRegistry::getInstance()->getPublicTransportUri($transport); $log->sessionTranscript = $log->transportUri . "\n\n" . $transcript; return $log; }
/** * Add attachments to the message * * @param Postman_Zend_Mail $mail */ private function addAttachmentsToMail(PostmanMessage $message) { $attachments = $message->getAttachments(); if (!is_array($attachments)) { // WordPress may a single filename or a newline-delimited string list of multiple filenames $attArray = explode(PHP_EOL, $attachments); } else { $attArray = $attachments; } // otherwise WordPress sends an array foreach ($attArray as $file) { if (!empty($file)) { $this->logger->debug("Adding attachment: " . $file); $this->email->addAttachment(basename($file)); } } }