Some fixes
[banana.git] / banana / mbox.inc.php
index 1ddb5d5..f14fbee 100644 (file)
@@ -106,12 +106,11 @@ class BananaMBox implements BananaProtocoleInterface
             }
             $id = Banana::$spool->ids[$id];
         }
-        $message = $this->readMessages(array($id));
-        if (empty($message)) {
-            $message = null;
-            return $message;
+        $messages = $this->readMessages(array($id));
+        if (!empty($messages)) {
+            $message = new BananaMessage($messages[$id]['message']);
         }
-        return  new BananaMessage($message[$id]['message']);
+        return $message;    
     }
 
     /** Return the sources of the given message
@@ -233,7 +232,19 @@ class BananaMBox implements BananaProtocoleInterface
      */
     public function send(BananaMessage &$message)
     {
-        return true;
+        $headers = $message->getHeaders();
+        $to      = $headers['To'];
+        $subject = $headers['Subject'];
+        unset($headers['To']);
+        unset($headers['Subject']);
+        $hdrs    = '';
+        foreach ($headers as $key=>$value) {
+            if (!empty($value)) {
+                $hdrs .= "$key: $value\r\n";
+            }    
+        }
+        $body = $message->get(false);
+        return mail($to, $subject, $body, $hdrs);
     }
 
     /** Cancel a message
@@ -433,7 +444,7 @@ class BananaMBox implements BananaProtocoleInterface
             }
             if ($id != $this->current_id || !$this->at_beginning) {
                 if (!$this->goTo($id)) {
-                    continue;
+                    break;
                 }
             }
             $beginning = ftell($this->file);