gnus-registry.el: Correct function argument order.
[gnus] / lisp / nngateway.el
index b5fd042..808a21c 100644 (file)
@@ -1,15 +1,16 @@
 ;;; nngateway.el --- posting news via mail gateways
-;; Copyright (C) 1996,97 Free Software Foundation, Inc.
 
-;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no>
+;; Copyright (C) 1996-2015 Free Software Foundation, Inc.
+
+;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;; Keywords: news, mail
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; GNU Emacs is free software: you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 2, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
 ;;; Code:
 
+(eval-when-compile (require 'cl))
 (require 'nnoo)
 (require 'message)
 
@@ -54,13 +54,17 @@ parameter -- the gateway address.")
            (nngateway-open-server server))
     ;; Rewrite the header.
     (let ((buf (current-buffer)))
-      (nnheader-temp-write nil
+      (with-temp-buffer
        (insert-buffer-substring buf)
        (message-narrow-to-head)
        (funcall nngateway-header-transformation nngateway-address)
+       (goto-char (point-max))
+       (insert mail-header-separator "\n")
        (widen)
        (let (message-required-mail-headers)
-         (message-send-mail))))))
+         (funcall (or message-send-mail-real-function
+                      message-send-mail-function)))
+       t))))
 
 ;;; Internal functions
 
@@ -73,8 +77,15 @@ parameter -- the gateway address.")
     (insert "To: " (nnheader-replace-chars-in-string newsgroups ?. ?-)
            "@" gateway "\n")))
 
+(defun nngateway-mail2news-header-transformation (gateway)
+  "Transform the headers for sending to a mail2news gateway."
+  (message-remove-header "to")
+  (message-remove-header "cc")
+  (goto-char (point-min))
+  (insert "To: " gateway "\n"))
+
 (nnoo-define-skeleton nngateway)
-    
+
 (provide 'nngateway)
 
 ;;; nngateway.el ends here