* lisp/pop3-fma.el (pop3-fma-save-password-information): New variable. Do not
authoryamaoka <yamaoka>
Tue, 24 Nov 1998 07:36:56 +0000 (07:36 +0000)
committeryamaoka <yamaoka>
Tue, 24 Nov 1998 07:36:56 +0000 (07:36 +0000)
save password information when `pop3-fma-save-password-information' set to
nil (in default).
(pop3-fma-encode-string): abolished - because of difference of FLIM API.
(pop3-fma-decode-string): Likewise.

lisp/pop3-fma.el

index e411f6f..293efe6 100644 (file)
@@ -3,7 +3,7 @@
 ;;                                                           Yasuo Okabe
 ;; Author: Tatsuya Ichikawa <t-ichi@po.shiojiri.ne.jp>
 ;;         Yasuo OKABE <okabe@kuis.kyoto-u.ac.jp>
-;; Version: 1.14
+;; Version: 1.16
 ;; Keywords: mail , gnus , pop3
 ;;
 ;; SPECIAL THANKS
     (` (defvar (, symbol) (, value) (, doc))))
   )
 
-(unless (and (fboundp 'pop3-fma-encode-string)
-            (fboundp 'pop3-fma-decode-string))
-  (require 'mel)
-  (fset 'pop3-fma-encode-string
-       (mel-find-function 'mime-encode-string "base64"))
-  (fset 'pop3-fma-decode-string
-       (mel-find-function 'mime-decode-string "base64")))
-
 (defgroup pop3-fma nil
   "Multile POP3 account utility for Gnus."
   :prefix "pop3-fma-"
   :group 'mail
   :group 'news)
 
-(defconst pop3-fma-version-number "1.14")
+(defconst pop3-fma-version-number "1.16")
 (defconst pop3-fma-codename
-;;  "Feel the wind"            ; 0.10
-;;  "My home town"             ; 0.11
-;;  "On the road"              ; 0.12
-;;  "Rock'n Roll city"         ; 0.13
-;;  "Money"                    ; 0.20
-;;  "Still 19"                 ; 0.21
 ;;  "J boy"                    ; 1.00
 ;;  "Blood line"               ; 1.10
 ;;  "Star ring"                        ; 1.11
 ;;  "Goodbye Game"             ; 1.12
 ;;  "Love is Gamble"           ; 1.13
-  "Lonely"                     ; 1.14
+;;  "Lonely"                   ; 1.14
+  "Feel the wind"              ; 1.16
   )
 (defconst pop3-fma-version (format "Multiple POP3 account utiliy for Gnus v%s - \"%s\""
                                       pop3-fma-version-number
@@ -141,13 +128,27 @@ Lisp means `nnmail-movemail-program' is lisp function.
   :group 'pop3-fma
   :type '(repeat (string :tag "Argument")))
 
+(defcustom pop3-fma-save-password-information nil
+  "*If non nil , save POP Server's password information.
+============== Important notice =====================
+Please take care of your password information.
+If set to t , your pop3 password is saved in pop3-fma-password in raw text.
+So , Anybody can see this information by describe-variable.
+If there is any problem , please set this variable to nil(default).
+============== Important notice ====================="
+  :group 'pop3-fma
+  :type 'boolean)
+
 ;;; Internal variables.
 (defvar pop3-fma-password nil
   "*POP3 password , user , mailhost information for Gnus.")
 
-(defvar pop3-fma-movemail-program "movemail.exe"
-  "*External program name your movemail.
-Please do not set this valiable non-nil if you do not use Meadow.")
+(defvar pop3-fma-movemail-program
+  (if (eq system-type 'windows-nt)
+      "movemail.exe"
+    "movemail")
+  "*External program name your movemail.")
+
 
 ;; Temporary variable
 (defvar hdr nil)
@@ -180,7 +181,7 @@ Please do not set this valiable non-nil if you do not use Meadow.")
      (setq byte-compile-warnings nil))))
 
 (defun pop3-fma-init-message-hook ()
-  (add-hook 'mime-edit-translate-hook 'pop3-fma-message-add-header))
+  (add-hook 'message-send-hook 'pop3-fma-message-add-header))
 
 (eval-after-load "message"
   '(pop3-fma-init-message-hook))
@@ -203,7 +204,12 @@ Please do not set this valiable non-nil if you do not use Meadow.")
              (pop3-mailhost
               (substring inbox (match-end (string-match "^.*@" inbox))))
              (pop3-password
-              (pop3-fma-read-passwd (substring inbox (match-end (string-match "^.*@" inbox)))))
+              (if pop3-fma-save-password-information
+                  (pop3-fma-read-passwd (substring inbox (match-end (string-match "^.*@" inbox))))
+                (pop3-fma-input-password
+                 (substring inbox (match-end (string-match "^.*@" inbox)))
+                 (substring inbox (match-end (string-match "^po:" inbox))
+                            (- (match-end (string-match "^.*@" inbox)) 1)))))
              (pop3-authentication-scheme
               (nth 1 (assoc inbox pop3-fma-spool-file-alist)))
              (pop3-fma-movemail-type (pop3-fma-get-movemail-type inbox)))
@@ -255,7 +261,11 @@ Please do not set this valiable non-nil if you do not use Meadow.")
 ;;
 (defun pop3-fma-read-passwd (mailhost)
   (setq passwd (nth 2 (assoc mailhost pop3-fma-password)))
-  (pop3-fma-decode-string passwd))
+  passwd)
+
+(defun pop3-fma-input-password (mailhost maildrop)
+  (pop3-fma-read-noecho
+   (format "POP Password for %s at %s: " maildrop mailhost) t))
 
 (setq pop3-read-passwd 'pop3-fma-read-passwd
       nnmail-read-passwd 'pop3-fma-read-passwd)
@@ -272,24 +282,26 @@ Please do not set this valiable non-nil if you do not use Meadow.")
                     (list
                      pop3-mailhost
                      pop3-maildrop
-                     (pop3-fma-encode-string passwd)))))                     
+                     passwd)))))
     (setcar (cdr (cdr (assoc pop3-mailhost pop3-fma-password)))
-           (pop3-fma-encode-string passwd)))
-  (message "POP password registered.")
-  (pop3-fma-encode-string passwd))
+           passwd)
+    (message "POP password registered.")
+    passwd)
 ;;
 ;;;###autoload
 (defun pop3-fma-set-pop3-password()
   (interactive)
-  (mapcar
-   (lambda (x)
-     (let ((pop3-maildrop
-           (substring (car x) (match-end (string-match "^po:" (car x)))
-                      (- (match-end (string-match "^.*@" (car x))) 1)))
-          (pop3-mailhost
-           (substring (car x) (match-end (string-match "^.*@" (car x))))))
-       (call-interactively 'pop3-fma-store-password)))
-   pop3-fma-spool-file-alist)
+  (if pop3-fma-save-password-information
+      (progn
+       (mapcar
+        (lambda (x)
+          (let ((pop3-maildrop
+                 (substring (car x) (match-end (string-match "^po:" (car x)))
+                            (- (match-end (string-match "^.*@" (car x))) 1)))
+                (pop3-mailhost
+                 (substring (car x) (match-end (string-match "^.*@" (car x))))))
+            (call-interactively 'pop3-fma-store-password)))
+        pop3-fma-spool-file-alist)))
   (setq nnmail-movemail-program 'pop3-fma-movemail)
 ;;  (setq nnmail-spool-file pop3-fma-spool-file-alist))
   (setq nnmail-spool-file (append