Esempio n. 1
0
    /**
     * 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;
    }