(require 'message)
 (require 'nnmail)
 (require 'nnoo)
-(require 'cl)
+(eval-when-compile (require 'cl))
 (require 'gnus-util)
 
 (nnoo-declare nnfolder)
   (save-excursion
     (set-buffer buffer)
     (goto-char (point-min))
-    (when (looking-at "X-From-Line: ")
-      (replace-match "From "))
+    (if (looking-at "X-From-Line: ")
+       (replace-match "From ")
+      (unless (looking-at message-unix-mail-delimiter)
+       (insert "From nobody " (current-time-string) "\n")))
     (nnfolder-normalize-buffer)
     (set-buffer nnfolder-current-buffer)
     (goto-char (point-min))
     (if (not (nnfolder-goto-article article))
        nil
-      (nnfolder-delete-mail t)
+      (nnfolder-delete-mail)
       (insert-buffer-substring buffer)
       (nnfolder-save-buffer)
       t)))
 
        (insert mail-header-separator "\n")
        (widen)
        (let (message-required-mail-headers)
-         (funcall message-send-mail-function))))))
+         (funcall message-send-mail-function))
+       t))))
 
 ;;; Internal functions
 
 
   (let ((format-alist nil)
        (auto-mode-alist (nnheader-auto-mode-alist))
        (default-major-mode 'fundamental-mode)
+       (enable-local-variables nil)
         (after-insert-file-functions nil)
+       (find-file-hooks nil)
        (coding-system-for-read nnheader-file-coding-system))
     (insert-file-contents filename visit beg end replace)))