/** * Sends an email and logs all data, with send result, to previously specified log file. * * @return bool */ public function sendMail() { $this->logger->log(str_pad('', 77, '*'), ezcLog::INFO); $this->logger->log("[Subject] " . $this->subject, ezcLog::INFO); $this->logger->log("[From email] " . $this->sender, ezcLog::INFO); $this->logger->log("[To email] " . implode(", ", $this->recipients), ezcLog::INFO); $this->logger->log("[Message] " . $this->message, ezcLog::INFO); if (!$this->canBeSend()) { $this->logger->log("[Send status] " . 0 . "\nImproper email data.", ezcLog::INFO); return false; } $email = new eZMail(); $email->setSubject($this->subject); $email->setSender($this->sender); foreach ( $this->recipients as $recipient) { $email->addReceiver($recipient); } $email->setBody($this->message); $email->setContentType('text/plain', 'UTF-8'); $sendStatus = eZMailTransport::send($email); $this->logger->log("[Send status] " . $sendStatus, ezcLog::INFO); return $sendStatus; }