From xemacs-m  Fri Mar 14 13:15:10 1997
Received: from elc1.dina.kvl.dk (elc1.dina.kvl.dk [130.225.40.228])
	by xemacs.org (8.8.5/8.8.5) with SMTP id NAA12281
	for <xemacs-beta@xemacs.org>; Fri, 14 Mar 1997 13:15:00 -0600 (CST)
Received: from zuse.dina.kvl.dk (zuse.dina.kvl.dk [130.225.40.245]) by elc1.dina.kvl.dk (8.6.12/8.6.4) with ESMTP id UAA05638; Fri, 14 Mar 1997 20:04:07 +0100
Received: (abraham@localhost) by zuse.dina.kvl.dk (8.6.12/8.6.4) id UAA07987; Fri, 14 Mar 1997 20:13:04 +0100
Sender: abraham@dina.kvl.dk
To: xemacs-beta@xemacs.org
Subject: Query for user-mail-address (was: Re: [comp.xemacs.xemacs]: forwarded message from Michael Uelschen)
References: <QQcgvv19473.199703141549@crystal.WonderWorks.COM> 	<199703141642.LAA29628@black-ice.cc.vt.edu> 	<QQcgwa20642.199703141708@crystal.WonderWorks.COM> 	<rvbu8mmjeq.fsf@sdnp5.ucsd.edu> <QQcgwf21845.199703141829@crystal.WonderWorks.COM>
Organization: The Church of Emacs
X-Face: +kRV2]2q}lixHkE{U)mY#+6]{AH=yN~S9@IFiOa@X6?GM<U{B+4e{k79.Ya{~':DblFPCg$
 @60,BfLv2@SKZ19cMWK0/C'v;tM:|6B'R}U1rp6CL&kN({9<zF/V{:JCg27yC)9oZjeqcQawzKfiNL
 t9}`vjmK["dRQC/qGFQq"%u|Q`:6{"Rz}b(dnl_"3$Jtqimi>|8MBp/
From: Per Abrahamsen <abraham@dina.kvl.dk>
Date: 14 Mar 1997 20:13:04 +0100
In-Reply-To: Kyle Jones's message of Fri, 14 Mar 1997 13:29:52 -0500 (EST)
Message-ID: <rj3etyb83j.fsf_-_@zuse.dina.kvl.dk>
Lines: 26
X-Mailer: Gnus v5.4.25/Emacs 19.34
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit


How about using something like below?

Message agents should then use `(query-user-mail-address)' to get the
users mail address.

;; We trust the administrator if he has set `mail-host-address'.
(defcustom query-user-mail-address (not (boundp 'mail-host-address))
  "If non-nil, prompt the user for his mail address."
  :group 'message
  :type 'boolean)

(defun query-user-mail-address ()
  "Query the user for his mail address, unless it is already known."
  (interactive)
  (when query-user-mail-address
    (setq user-mail-address
	  (read-string "Your mail address? " (cons user-mail-address 0)))
    (setq query-user-mail-address nil)
    ;; TODO: Run sanity check from Gnus here.
    (when (y-or-n-p "Save address for future sessions? ")
      (put 'user-mail-address 'saved-value
	   (list user-mail-address))
      (put 'query-user-mail-address 'saved-value '(nil))
      (custom-save-all)))
  user-mail-address)

