(defun gnus-summary-resend-message-edit ()
"Resend an article that has already been sent.
A new buffer will be created to allow the user to modify body and
contents of the message, and then, everything will happen as when
composing a new message."
(interactive nil gnus-summary-mode)
(let ((mail-parse-charset gnus-newsgroup-charset))
(gnus-setup-message 'reply-yank
(gnus-summary-select-article t)
(set-buffer gnus-original-article-buffer)
(let ((cur (current-buffer))
(to (message-fetch-field "to")))
(message-pop-to-buffer (message-buffer-name "Resend" to))
(insert-buffer-substring cur)
(mime-to-mml)
(message-narrow-to-head-1)
(message-remove-header "Message-ID")
(message-remove-header message-ignored-resent-headers t)
(goto-char (point-max))
(insert mail-header-separator)
(gnus-inews-insert-gcc)
(goto-char (point-min))
(when (re-search-forward "^To:\\|^Newsgroups:" nil 'move)
(forward-char 1))
(widen)))))