public function send()
    {
        if ($this->attachments) {
            // With files
            $this->prepareWithAttachments();
        } else {
            // Usual plain email
            $this->addHeader('Content-Type: ' . $this->content_type . '; charset=utf-8');
            $this->message_body = $this->message;
        }

        if ($this->sender_email) {
            $this->addHeader('From: "' . $this->mail_head_param_encode($this->sender_name) . '" <' . $this->sender_email . '>');
        }

        $so = count($this->recipient_emails);

        for ($i = 0; $i < $so; ++$i) {
            mail($this->recipient_emails[$i]['email'], '=?utf-8?B?' . base64_encode($this->subject) . '?=', wordwrap($this->message_body, 70) . $this->message_attachment, implode("\n", $this->email_headers) . ($this->recipient_emails[$i]['name'] ? "\nTo: " . $this->mail_head_param_encode($this->recipient_emails[$i]['name']) . ' <' . $this->recipient_emails[$i]['email'] . ">\n" : ''));
        }
    }