This bug (#9521) was easy to fix. The problem was with the rmail-insert-mime-forwarded-message function in rmailmm.el:1355: (defun rmail-insert-mime-forwarded-message (forward-buffer) "Insert the message in FORWARD-BUFFER as a forwarded message. This is the usual value of `rmail-insert-mime-forwarded-message-function'." (let ((message-buffer (with-current-buffer forward-buffer (if rmail-buffer-swapped forward-buffer rmail-view-buffer)))) (save-restriction (narrow-to-region (point) (point)) (message-forward-make-body-mime message-buffer)))) This does exactly the wrong thing by inserting the decoded version of the message. Swapping the two buffers (forward-buffer, rmail-view-buffer) in the if expression fixes this: (defun rmail-insert-mime-forwarded-message (forward-buffer) "Insert the message in FORWARD-BUFFER as a forwarded message. This is the usual value of `rmail-insert-mime-forwarded-message-function'." (let ((message-buffer (with-current-buffer forward-buffer (if rmail-buffer-swapped > rmail-view-buffer > forward-buffer)))) (save-restriction (narrow-to-region (point) (point)) (message-forward-make-body-mime message-buffer)))) Note that this does not fix bug #9766, which was incorrectly merged with bug #9521. The problem there (#9766) is that many email clients including in particular, the iPad email app, do not properly display RFC822 attachments or do not show it inline. Fixing that problem requires substantial work, including on the design front. One idea would be to generate the RFC822 attachment as now, which preserves the full details of the message for competent email clients, and also generate an abbreviated version in the message body for human viewers of incompetent email clients. The simplest approach would be to just insert the Rmail decoded version: ====== forwarded message as seen by sender (full message attached) ==== From: Kenichi Handa m17n.org> To: handa m17n.org Subject: test from shatin Date: Thu, 15 Sep 2011 14:14:58 +0900 Message-ID: <87aaa6xu7h.fsf m17n.org> Content-Type: multipart/mixed; boundary="=-=-=" [1:text/plain Hide] test of attachment [2:application/pdf Show Save:temp.pdf (2kB)] Here, the message headers have been filtered by the users usual header filtering rules and the body is as seen when the forwarding was done. e.g., whatever message part toggling the user did is still visible. Drawbacks: the PDF attachment here is not accessible to the incompetent email clients, this approach fails miserably for HTML-only messages (distressingly common these days), and there is no way to forward the HTML part instead of the text part inline (perhaps the HTML part has the real content). The first of these could be fixed by attaching all of the original non-inline attachments to the new message; this is what email clients like Outlook do when you forword a message. For the second and third parts, I have been experimenting with the following: