--- compose.inc	2012-12-02 00:20:04.000000000 +0100
+++ compose.inc.delivered_envelope	2012-12-05 20:45:41.000000000 +0100
@@ -436,7 +436,7 @@
     }
   }
 
-  // If matching by name+address doesn't found any amtches, get first found address (identity)
+  // If matching by name+address doesn't found any matches, get first found address (identity)
   if ($from_idx === null) {
     $from_idx = $found_idx;
   }
@@ -458,6 +458,16 @@
         $from_idx = $idx;
         break;
       }
+    }
+  }
+
+  // Fallback using Envelope-to (Exim)
+  if ($from_idx === null && ($envelope_to = $MESSAGE->headers->others['envelope-to'])) {
+    foreach ($identities as $idx => $ident) {
+      if (in_array($ident['email_ascii'], $envelope_to)) {
+        $from_idx = $idx;
+        break;
+      }
     }
   }
 
