all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* gnus / message-send-mail-with-mailclient [patch]
@ 2006-02-09 12:06 David Reitter
  2006-03-16 21:27 ` Reiner Steib
  0 siblings, 1 reply; 13+ messages in thread
From: David Reitter @ 2006-02-09 12:06 UTC (permalink / raw)



[-- Attachment #1.1: Type: text/plain, Size: 5327 bytes --]

The send-mail-function defined specifically for the message package  
doesn't work on systems where no sendmail is running.
That's why we added the `mailclient' package a while ago. The patch  
below fixes the problem analogous to what has been done in the  
`sendmail' package.

I noticed this when `reporter' didn't successfully send off e-mails.

Are there any other places where sendmail functionality is assumed,  
but `send-mail-function' is not respected?



*** lisp/gnus/message.el	04 Feb 2006 18:25:51 +0000	1.101
--- lisp/gnus/message.el	09 Feb 2006 12:01:32 +0000	
***************
*** 584,599 ****
     :link '(custom-manual "(message)Canceling News")
     :type 'string)

   ;; Useful to set in site-init.el
   ;;;###autoload
   (defcustom message-send-mail-function 'message-send-mail-with- 
sendmail
     "Function to call to send the current buffer as mail.
   The headers should be delimited by a line whose contents match the
   variable `mail-header-separator'.
!
   Valid values include `message-send-mail-with-sendmail' (the default),
   `message-send-mail-with-mh', `message-send-mail-with-qmail',
! `message-smtpmail-send-it', `smtpmail-send-it' and `feedmail-send-it'.

   See also `send-mail-function'."
     :type '(radio (function-item message-send-mail-with-sendmail)
--- 584,609 ----
     :link '(custom-manual "(message)Canceling News")
     :type 'string)

+ ;; Prevent problems with `window-system' not having the correct value
+ ;; when loaddefs.el is loaded. `custom-reevaluate-setting' needs the
+ ;; standard value.
+ ;;;###autoload
+ (put 'message-send-mail-function 'standard-value
+      '((if (and window-system (memq system-type '(darwin windows-nt)))
+ 	   'message-send-mail-with-mailclient
+ 	 'message-send-mail-with-sendmail)))
+
   ;; Useful to set in site-init.el
   ;;;###autoload
   (defcustom message-send-mail-function 'message-send-mail-with- 
sendmail
     "Function to call to send the current buffer as mail.
   The headers should be delimited by a line whose contents match the
   variable `mail-header-separator'.
!
   Valid values include `message-send-mail-with-sendmail' (the default),
   `message-send-mail-with-mh', `message-send-mail-with-qmail',
! `message-smtpmail-send-it', `smtpmail-send-it', `feedmail-send-it'
! and `message-send-mail-with-mailclient'.

   See also `send-mail-function'."
     :type '(radio (function-item message-send-mail-with-sendmail)
***************
*** 3982,3987 ****
--- 3992,4005 ----
     (run-hooks 'message-send-mail-hook)
     (smtpmail-send-it))

+
+ (defun message-send-mail-with-mailclient ()
+  "Send the prepared message buffer with `mailclient-send-it'.
+ This only differs from `smtpmail-send-it' that this command evaluates
+ `message-send-mail-hook' just before sending a message."
+  (run-hooks 'message-send-mail-hook)
+   (mailclient-send-it))
+
   (defun message-canlock-generate ()
     "Return a string that is non-trivial to guess.
   Do not use this for anything important, it is cryptographically  
weak."
Index: startup.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/startup.el,v
retrieving revision 1.397
diff -c -r1.397 startup.el
*** lisp/startup.el	22 Jan 2006 23:14:25 -0000	1.397
--- lisp/startup.el	9 Feb 2006 12:02:12 -0000
***************
*** 463,469 ****
   		  (if (string-match "^\\(xterm\\|rxvt\\|dtterm\\|eterm\\)"
   				    term)
   		      (setq default-frame-background-mode 'light)))
! 		(frame-set-background-mode (selected-frame)))))

   	;; Now we know the user's default font, so add it to the menu.
   	(if (fboundp 'font-menu-add-default)
--- 463,472 ----
   		  (if (string-match "^\\(xterm\\|rxvt\\|dtterm\\|eterm\\)"
   				    term)
   		      (setq default-frame-background-mode 'light)))
! 		(frame-set-background-mode (selected-frame))))
!
! 	  ;; time to make the frame visible (Aquamacs)
! 	  (make-frame-visible))

   	;; Now we know the user's default font, so add it to the menu.
   	(if (fboundp 'font-menu-add-default)
***************
*** 741,746 ****
--- 744,752 ----

     (run-hooks 'before-init-hook)

+   ;; the initial frame is hidden in Aquamacs
+   (setq initial-frame-alist (cons '(visibility . nil) initial-frame- 
alist))
+
     ;; Under X Window, this creates the X frame and deletes the  
terminal frame.
     (when (fboundp 'frame-initialize)
       (frame-initialize))
***************
*** 778,783 ****
--- 784,790 ----
     (custom-reevaluate-setting 'mouse-wheel-up-event)
     (custom-reevaluate-setting 'file-name-shadow-mode)
     (custom-reevaluate-setting 'send-mail-function)
+   (custom-reevaluate-setting 'message-send-mail-function)

     ;; Register default TTY colors for the case the terminal hasn't a
     ;; terminal init file.
***************
*** 1828,1833 ****
--- 1835,1843 ----
       (when (fboundp 'frame-notice-user-settings)
         (frame-notice-user-settings))

+     ;; time to make the frame visible (Aquamacs)
+     (make-frame-visible)
+
       ;; If there are no switches to process, we might as well
       ;; run this hook now, and there may be some need to do it
       ;; before doing any output.



--
http://aquamacs.org -- Aquamacs: Emacs on Mac OS X
http://aquamacs.org/donate -- Could we help you? Return the favor and  
support the Aquamacs Project!





[-- Attachment #1.2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 2454 bytes --]

[-- Attachment #2: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gnus / message-send-mail-with-mailclient [patch]
  2006-02-09 12:06 gnus / message-send-mail-with-mailclient [patch] David Reitter
@ 2006-03-16 21:27 ` Reiner Steib
  2006-03-17  7:39   ` David Reitter
  2006-03-17 11:33   ` Eli Zaretskii
  0 siblings, 2 replies; 13+ messages in thread
From: Reiner Steib @ 2006-03-16 21:27 UTC (permalink / raw)
  Cc: ding, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 876 bytes --]

On Thu, Feb 09 2006, David Reitter wrote:

> The send-mail-function defined specifically for the message package  
> doesn't work on systems where no sendmail is running.
> That's why we added the `mailclient' package a while ago.

`message.el' is supposed to work with Emacs 21 as well.  Do you know
whether `mailclient.el' works with Emacs 21?

> The patch below fixes the problem analogous to what has been done in
> the `sendmail' package.

Your patch contains several unrelated changes (make-frame-visible),
wrapped lines and mixed context/unified hunks which makes is hard to
read and to apply.

How about the attached patch.  It includes some additional checks
(partly taken from `message.el' in the development version of Gnus).

I'm not sure (and I can't test) if
  (custom-reevaluate-setting 'message-send-mail-function)
in `startup.el' is necessary.

Bye, Reiner.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: rs-message-send-mail-function.patch --]
[-- Type: text/x-patch, Size: 3160 bytes --]

Index: message.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/gnus/message.el,v
retrieving revision 1.102
diff -u -r1.102 message.el
--- message.el	24 Feb 2006 05:02:12 -0000	1.102
+++ message.el	16 Mar 2006 21:09:33 -0000
@@ -48,6 +48,7 @@
 (require 'mml)
 (require 'rfc822)
 (eval-and-compile
+  (autoload 'mailclient-send-it "mailclient") ;; Emacs 22 or contrib/
   (autoload 'gnus-find-method-for-group "gnus")
   (autoload 'nnvirtual-find-group-art "nnvirtual")
   (autoload 'gnus-group-decoded-name "gnus-group"))
@@ -584,16 +585,37 @@
   :link '(custom-manual "(message)Canceling News")
   :type 'string)
 
+(defun message-send-mail-function ()
+  "Return suitable value for the variable `message-send-mail-function'."
+  (cond ((and sendmail-program
+	      (executable-find program))
+	 'message-send-mail-with-sendmail)
+	((and (locate-library "mailclient")
+	      window-system
+	      (memq system-type '(darwin windows-nt)))
+	 'message-send-mail-with-mailclient)
+	(t
+	 'message-smtpmail-send-it)))
+
+;; Prevent problems with `window-system' not having the correct value
+;; when loaddefs.el is loaded. `custom-reevaluate-setting' needs the
+;; standard value.
+;;;###autoload
+(put 'message-send-mail-function 'standard-value
+     '((message-send-mail-function)))
+
 ;; Useful to set in site-init.el
 ;;;###autoload
-(defcustom message-send-mail-function 'message-send-mail-with-sendmail
+(defcustom message-send-mail-function (message-send-mail-function)
   "Function to call to send the current buffer as mail.
 The headers should be delimited by a line whose contents match the
 variable `mail-header-separator'.
 
-Valid values include `message-send-mail-with-sendmail' (the default),
+Valid values include `message-send-mail-with-sendmail',
 `message-send-mail-with-mh', `message-send-mail-with-qmail',
-`message-smtpmail-send-it', `smtpmail-send-it' and `feedmail-send-it'.
+`message-smtpmail-send-it', `smtpmail-send-it',
+`feedmail-send-it' and `message-send-mail-with-mailclient'.  The
+default is system dependent.
 
 See also `send-mail-function'."
   :type '(radio (function-item message-send-mail-with-sendmail)
@@ -602,8 +624,11 @@
 		(function-item message-smtpmail-send-it)
 		(function-item smtpmail-send-it)
 		(function-item feedmail-send-it)
+		(function-item message-send-mail-with-mailclient
+			       :tag "Use Mailclient package")
 		(function :tag "Other"))
   :group 'message-sending
+  :initialize 'custom-initialize-default
   :link '(custom-manual "(message)Mail Variables")
   :group 'message-mail)
 
@@ -3982,6 +4007,13 @@
   (run-hooks 'message-send-mail-hook)
   (smtpmail-send-it))
 
+(defun message-send-mail-with-mailclient ()
+  "Send the prepared message buffer with `mailclient-send-it'.
+This only differs from `smtpmail-send-it' that this command evaluates
+`message-send-mail-hook' just before sending a message."
+  (run-hooks 'message-send-mail-hook)
+  (mailclient-send-it))
+
 (defun message-canlock-generate ()
   "Return a string that is non-trivial to guess.
 Do not use this for anything important, it is cryptographically weak."

[-- Attachment #3: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gnus / message-send-mail-with-mailclient [patch]
  2006-03-16 21:27 ` Reiner Steib
@ 2006-03-17  7:39   ` David Reitter
  2006-03-17 11:33   ` Eli Zaretskii
  1 sibling, 0 replies; 13+ messages in thread
From: David Reitter @ 2006-03-17  7:39 UTC (permalink / raw)
  Cc: ding, emacs-devel

On 16 Mar 2006, at 21:27, Reiner Steib wrote:

>  `message.el' is supposed to work with Emacs 21 as well.  Do you know
> whether `mailclient.el' works with Emacs 21?

I just tried it and it worked fine. (I don't know about the custom- 
reevaluate-settings business - but that's only needed when  
autoloaded, i.e. when it comes with the distribution.)

>> The patch below fixes the problem analogous to what has been done in
>> the `sendmail' package.
>
> Your patch contains several unrelated changes (make-frame-visible),
> wrapped lines and mixed context/unified hunks which makes is hard to
> read and to apply.

Sorry, the other changes slipped in.

> How about the attached patch.  It includes some additional checks
> (partly taken from `message.el' in the development version of Gnus).

Looks good to me, except...

> I'm not sure (and I can't test) if
>   (custom-reevaluate-setting 'message-send-mail-function)
> in `startup.el' is necessary.

Yes, that is needed because `window-system' is only meaningful at  
runtime.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gnus / message-send-mail-with-mailclient [patch]
  2006-03-16 21:27 ` Reiner Steib
  2006-03-17  7:39   ` David Reitter
@ 2006-03-17 11:33   ` Eli Zaretskii
  2006-03-17 12:37     ` David Reitter
  1 sibling, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2006-03-17 11:33 UTC (permalink / raw)
  Cc: ding

> From: Reiner Steib <reinersteib+gmane@imap.cc>
> Date: Thu, 16 Mar 2006 22:27:43 +0100
> Cc: ding@gnus.org, emacs-devel@gnu.org
> 
> +(defun message-send-mail-function ()
> +  "Return suitable value for the variable `message-send-mail-function'."
> +  (cond ((and sendmail-program
> +	      (executable-find program))
> +	 'message-send-mail-with-sendmail)
> +	((and (locate-library "mailclient")
> +	      window-system
> +	      (memq system-type '(darwin windows-nt)))
> +	 'message-send-mail-with-mailclient)
> +	(t
> +	 'message-smtpmail-send-it)))

Why would you need to test that window-system is non-nil?  Perhaps I'm
missing something, but I don't see anything in mailclient.el that
would require an Emacs windowed display.  Can you explain?

For that matter, why the test for system-type?  Won't it work on other
systems as well?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gnus / message-send-mail-with-mailclient [patch]
  2006-03-17 11:33   ` Eli Zaretskii
@ 2006-03-17 12:37     ` David Reitter
  2006-03-17 17:10       ` Reiner Steib
  0 siblings, 1 reply; 13+ messages in thread
From: David Reitter @ 2006-03-17 12:37 UTC (permalink / raw)
  Cc: ding, emacs-devel

On 17 Mar 2006, at 11:33, Eli Zaretskii wrote:
>>
>> +(defun message-send-mail-function ()
>> +  "Return suitable value for the variable `message-send-mail- 
>> function'."
>> +  (cond ((and sendmail-program
>> +	      (executable-find program))
>> +	 'message-send-mail-with-sendmail)
>> +	((and (locate-library "mailclient")
>> +	      window-system
>> +	      (memq system-type '(darwin windows-nt)))
>> +	 'message-send-mail-with-mailclient)
>> +	(t
>> +	 'message-smtpmail-send-it)))
>
> Why would you need to test that window-system is non-nil?  Perhaps I'm
> missing something, but I don't see anything in mailclient.el that
> would require an Emacs windowed display.  Can you explain?
>
> For that matter, why the test for system-type?  Won't it work on other
> systems as well?

It works fine from a shell (without a window-system) and on other  
systems (as long as the defined mail client, i.e. mailto:// URL  
handler doesn't require one).  That is, provided the function  
`message-send-mail-function' is only used to initialize the variable  
of the same name. The default should be `mailclient' only on specific  
systems - at least on Windows and probably on the Mac as well.   
Reiner should know more.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gnus / message-send-mail-with-mailclient [patch]
  2006-03-17 12:37     ` David Reitter
@ 2006-03-17 17:10       ` Reiner Steib
  2006-03-18 10:36         ` Eli Zaretskii
  0 siblings, 1 reply; 13+ messages in thread
From: Reiner Steib @ 2006-03-17 17:10 UTC (permalink / raw)
  Cc: Eli Zaretskii, ding, emacs-devel

On Fri, Mar 17 2006, David Reitter wrote:

> On 17 Mar 2006, at 11:33, Eli Zaretskii wrote:
>>>
>>> +(defun message-send-mail-function ()
>>> +  "Return suitable value for the variable `message-send-mail- 
>
>>> function'."
>>> +  (cond ((and sendmail-program
>>> +	      (executable-find program))

This should read (executable-find sendmail-program).

>>> +	 'message-send-mail-with-sendmail)
>>> +	((and (locate-library "mailclient")
>>> +	      window-system
>>> +	      (memq system-type '(darwin windows-nt)))
>>> +	 'message-send-mail-with-mailclient)
>>> +	(t
>>> +	 'message-smtpmail-send-it)))
>>
>> Why would you need to test that window-system is non-nil?  Perhaps I'm
>> missing something, but I don't see anything in mailclient.el that
>> would require an Emacs windowed display.  Can you explain?
>>
>> For that matter, why the test for system-type?  Won't it work on other
>> systems as well?

Until know I didn't look at `mailclient.el' because I though it would
use some Windows or Mac specific functionality.  But AFAICS, it only
delegates to `browse-url'.  I don't use neither Windows nor Mac, so I
don't know if this works more or less out of the box there.

On my system (GNU/Linux), "emacs -Q", (setq send-mail-function
'mailclient-send-it), `M-x mail RET' sends the message to mozilla.

How about the following?

--8<---------------cut here---------------start------------->8---
(defun message-send-mail-function ()
  "Return suitable value for the variable `message-send-mail-function'."
  (cond ((and sendmail-program
	      (executable-find sendmail-program))
	 'message-send-mail-with-sendmail)
	((and (locate-library "smtpmail")
	      (require 'smtpmail)
	      smtpmail-default-smtp-server)
	 'message-smtpmail-send-it)
	((locate-library "mailclient")
	 'message-send-mail-with-mailclient)
	(t
	 (lambda ()
	   (error "Don't know how to send mail.  Please customize `message-send-mail-function'.")))))
--8<---------------cut here---------------end--------------->8---

For the unbundled Gnus, we need to test if `smtpmail.el' (XEmacs) and
`mailclient.el' (Emacs 21, XEmacs) is available.

> It works fine from a shell (without a window-system) and on other
> systems (as long as the defined mail client, i.e. mailto:// URL
> handler doesn't require one).  That is, provided the function
> `message-send-mail-function' is only used to initialize the variable
> of the same name.

The function `message-send-mail-function' is only to avoid duplicate
code.

Bye, Reiner.
-- 
       ,,,
      (o o)
---ooO-(_)-Ooo---  |  PGP key available  |  http://rsteib.home.pages.de/

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gnus / message-send-mail-with-mailclient [patch]
  2006-03-17 17:10       ` Reiner Steib
@ 2006-03-18 10:36         ` Eli Zaretskii
  2006-03-18 11:44           ` Reiner Steib
  0 siblings, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2006-03-18 10:36 UTC (permalink / raw)
  Cc: emacs-devel

> From: Reiner Steib <reinersteib+gmane@imap.cc>
> Cc: Eli Zaretskii <eliz@gnu.org>, ding@gnus.org, emacs-devel@gnu.org
> Date: Fri, 17 Mar 2006 18:10:44 +0100
> 
> How about the following?
> 
> --8<---------------cut here---------------start------------->8---
> (defun message-send-mail-function ()
>   "Return suitable value for the variable `message-send-mail-function'."
>   (cond ((and sendmail-program
> 	      (executable-find sendmail-program))
> 	 'message-send-mail-with-sendmail)
> 	((and (locate-library "smtpmail")
> 	      (require 'smtpmail)
> 	      smtpmail-default-smtp-server)
> 	 'message-smtpmail-send-it)
> 	((locate-library "mailclient")
> 	 'message-send-mail-with-mailclient)
> 	(t
> 	 (lambda ()
> 	   (error "Don't know how to send mail.  Please customize `message-send-mail-function'.")))))
> --8<---------------cut here---------------end--------------->8---

This is good, but I think using smtpmail by default is not the best
idea: it requires manual setup (at the very least, the SMTP server
address).  So I think mailclient should be used in preference to
smtpmail.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gnus / message-send-mail-with-mailclient [patch]
  2006-03-18 10:36         ` Eli Zaretskii
@ 2006-03-18 11:44           ` Reiner Steib
  2006-03-22 10:36             ` David Reitter
  0 siblings, 1 reply; 13+ messages in thread
From: Reiner Steib @ 2006-03-18 11:44 UTC (permalink / raw)
  Cc: David Reitter, ding, emacs-devel

On Sat, Mar 18 2006, Eli Zaretskii wrote:

>> From: Reiner Steib <reinersteib+gmane@imap.cc>
[...]
>> --8<---------------cut here---------------start------------->8---
>> (defun message-send-mail-function ()
>>   "Return suitable value for the variable `message-send-mail-function'."
>>   (cond ((and sendmail-program
>> 	      (executable-find sendmail-program))
>> 	 'message-send-mail-with-sendmail)
>> 	((and (locate-library "smtpmail")
>> 	      (require 'smtpmail)
>> 	      smtpmail-default-smtp-server)
>> 	 'message-smtpmail-send-it)
>> 	((locate-library "mailclient")
>> 	 'message-send-mail-with-mailclient)
>> 	(t
>> 	 (lambda ()
>> 	   (error "Don't know how to send mail.  Please customize `message-send-mail-function'.")))))
>> --8<---------------cut here---------------end--------------->8---
>
> This is good, but I think using smtpmail by default is not the best
> idea: it requires manual setup (at the very least, the SMTP server
> address).  

Yes, therefore my suggestion checks if `smtpmail-default-smtp-server'
is non-nil.  But maybe this is not sufficient or we should better
check `smtpmail-smtp-server'.  Simon?

> So I think mailclient should be used in preference to smtpmail.

If the user (or site admin) has configured
`smtpmail-[default-]smtp-server' (or $SMTPSERVER) I think we can
assume that it works.  Else the user can customize the variable
`message-send-mail-function'.

I'd like to add `mailclient.el' to Gnus' contrib directory so that
Emacs 21 (or XEmacs) users can also use it.  David, WDYT?

Bye, Reiner.
-- 
       ,,,
      (o o)
---ooO-(_)-Ooo---  |  PGP key available  |  http://rsteib.home.pages.de/

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gnus / message-send-mail-with-mailclient [patch]
  2006-03-18 11:44           ` Reiner Steib
@ 2006-03-22 10:36             ` David Reitter
  2006-03-24 14:29               ` Reiner Steib
  0 siblings, 1 reply; 13+ messages in thread
From: David Reitter @ 2006-03-22 10:36 UTC (permalink / raw)


On 18 Mar 2006, at 11:44, Reiner Steib wrote:

>> So I think mailclient should be used in preference to smtpmail.
>
> If the user (or site admin) has configured
> `smtpmail-[default-]smtp-server' (or $SMTPSERVER) I think we can
> assume that it works.  Else the user can customize the variable
> `message-send-mail-function'.
>
> I'd like to add `mailclient.el' to Gnus' contrib directory so that
> Emacs 21 (or XEmacs) users can also use it.  David, WDYT?

I just tried out mailclient on emacs 21 on my FC3 (KDE) installation  
(where Firefox 1.06 is the standard web browser and reacts to browse- 
url). Turns out that there, browse-url does not work with mailto  
URLs. No feedback is given, and Emacs wrongly states that the e-mail  
is sent.

browse-url-browser-function is set to `htmlview', which seems to be  
the default.

On Darwin/OS X, Emacs 21 in the terminal works just fine with  
mailclient.

In conclusion I'd say: yes, offer it to Emacs 21 users. However, do  
not use mailclient as a preference to zero-configuration methods  
(sendmail) on GNU/Linux systems. As for `smtpmail', I can't tell. But  
at least one would think that smtpmail shows an error message in case  
it hasn't been configured (with a server), right? That's better than  
showing nothing or misleading the user.

Maybe we should caution users appropriately if mailclient is used on  
systems where we can't guarantee reliability?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gnus / message-send-mail-with-mailclient [patch]
  2006-03-22 10:36             ` David Reitter
@ 2006-03-24 14:29               ` Reiner Steib
  2006-03-24 17:15                 ` David Reitter
  0 siblings, 1 reply; 13+ messages in thread
From: Reiner Steib @ 2006-03-24 14:29 UTC (permalink / raw)
  Cc: ding, emacs-devel

On Wed, Mar 22 2006, David Reitter wrote:

[ Apparently you message didn't make it to the list (yet) => Not
  trimming the quotes.  Please keep emacs-devel and ding@gnus in Cc. ]

> On 18 Mar 2006, at 11:44, Reiner Steib wrote:
>> Eli Zaretskii wrote:
>>> So I think mailclient should be used in preference to smtpmail.
>>
>> If the user (or site admin) has configured
>> `smtpmail-[default-]smtp-server' (or $SMTPSERVER) I think we can
>> assume that it works.  Else the user can customize the variable
>> `message-send-mail-function'.
>>
>> I'd like to add `mailclient.el' to Gnus' contrib directory so that
>> Emacs 21 (or XEmacs) users can also use it.  David, WDYT?
>
> I just tried out mailclient on emacs 21 on my FC3 (KDE) installation
> (where Firefox 1.06 is the standard web browser and reacts to
> browse- url). Turns out that there, browse-url does not work with
> mailto URLs. No feedback is given, and Emacs wrongly states that the
> e-mail is sent.
>
> browse-url-browser-function is set to `htmlview', which seems to be
> the default.
>
> On Darwin/OS X, Emacs 21 in the terminal works just fine with
> mailclient.
>
> In conclusion I'd say: yes, offer it to Emacs 21 users. 

Thanks for your feedback.  I will add it in contrib and change the
`message-send-mail-function' after the upcoming release of Gnus
5.10.8.

> However, do not use mailclient as a preference to zero-configuration
> methods (sendmail) on GNU/Linux systems. As for `smtpmail', I can't
> tell. But at least one would think that smtpmail shows an error
> message in case it hasn't been configured (with a server), right?
> That's better than showing nothing or misleading the user.

ELISP> (and (locate-library "smtpmail")
	    (require 'smtpmail)
	    smtpmail-default-smtp-server)

nil
ELISP> (setq message-send-mail-function 'message-smtpmail-send-it)
message-smtpmail-send-it

==> smtpmail-via-smtp: `smtpmail-smtp-server' not defined

For sendmail, we also get a warning:

ELISP> (setq sendmail-program "/foo/bar/baz")
"/foo/bar/baz"
ELISP> (setq message-send-mail-function 'message-send-mail-with-sendmail)
message-send-mail-with-sendmail

==> Searching for program: no such file or directory, /foo/bar/baz

> Maybe we should caution users appropriately if mailclient is used on
> systems where we can't guarantee reliability?

I can't think of a reliable way to check if the application called by
`browse-url' handled the mailto link correctly.

At least, `mailclient-send-it' could inform the user what it does.

Something like "Delegating [shortened-mailto-stuff] to
`browse-url'...".  Maybe including the value of
`browse-url-browser-function' in the message.  Note that
`browse-url-browser-function' might be a (REGEXP . FUNCTION) list.

Bye, Reiner.
-- 
       ,,,
      (o o)
---ooO-(_)-Ooo---  |  PGP key available  |  http://rsteib.home.pages.de/

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gnus / message-send-mail-with-mailclient [patch]
  2006-03-24 14:29               ` Reiner Steib
@ 2006-03-24 17:15                 ` David Reitter
  2006-03-24 20:29                   ` Kevin Rodgers
  0 siblings, 1 reply; 13+ messages in thread
From: David Reitter @ 2006-03-24 17:15 UTC (permalink / raw)
  Cc: ding, emacs-devel

On 24 Mar 2006, at 14:29, Reiner Steib wrote:

> On Wed, Mar 22 2006, David Reitter wrote:
>
> [ Apparently you message didn't make it to the list (yet) => Not
>   trimming the quotes.  Please keep emacs-devel and ding@gnus in Cc. ]

Strange thing, it's missing indeed. I did cc it to emacs-devel, but  
not to ding@gnus.  Oh well.

> ELISP> (setq sendmail-program "/foo/bar/baz")
> "/foo/bar/baz"
> ELISP> (setq message-send-mail-function 'message-send-mail-with- 
> sendmail)
> message-send-mail-with-sendmail
>
> ==> Searching for program: no such file or directory, /foo/bar/baz
>
>> Maybe we should caution users appropriately if mailclient is used on
>> systems where we can't guarantee reliability?
>
> I can't think of a reliable way to check if the application called by
> `browse-url' handled the mailto link correctly.

I can't either. I believe `message-send-mail-with-sendmail' is the  
best default for `message-send-mail-function', unless running on  
systems where sendmail is not implemented or swallows mail. (OS X  
10.4 is supposed to automatically fire up sendmail, according to an  
Apple developer. I haven't seen this work reliably, so far.)

> At least, `mailclient-send-it' could inform the user what it does.
>
> Something like "Delegating [shortened-mailto-stuff] to
> `browse-url'...".  Maybe including the value of
> `browse-url-browser-function' in the message.  Note that
> `browse-url-browser-function' might be a (REGEXP . FUNCTION) list.

These require developer-level knowledge and add to the general  
information overload. "Browse" never sounds like mailclient.
How about

(message "Delegated message to default mail client.")

But most importantly, we should see if the "Message sent" message can  
be avoided, since it's plain and simply wrong from the user's  
perspective.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gnus / message-send-mail-with-mailclient [patch]
  2006-03-24 17:15                 ` David Reitter
@ 2006-03-24 20:29                   ` Kevin Rodgers
  2006-03-26  9:35                     ` David Reitter
  0 siblings, 1 reply; 13+ messages in thread
From: Kevin Rodgers @ 2006-03-24 20:29 UTC (permalink / raw)
  Cc: ding

David Reitter wrote:
 > On 24 Mar 2006, at 14:29, Reiner Steib wrote:
 >> On Wed, Mar 22 2006, David Reitter wrote:
 >> I can't think of a reliable way to check if the application called by
 >> `browse-url' handled the mailto link correctly.
 >
 > I can't either. I believe `message-send-mail-with-sendmail' is the  best
 > default for `message-send-mail-function', unless running on  systems
 > where sendmail is not implemented or swallows mail. (OS X  10.4 is
 > supposed to automatically fire up sendmail, according to an  Apple
 > developer. I haven't seen this work reliably, so far.)
 >
 >> At least, `mailclient-send-it' could inform the user what it does.
 >>
 >> Something like "Delegating [shortened-mailto-stuff] to
 >> `browse-url'...".  Maybe including the value of
 >> `browse-url-browser-function' in the message.  Note that
 >> `browse-url-browser-function' might be a (REGEXP . FUNCTION) list.
 >
 >
 > These require developer-level knowledge and add to the general
 > information overload. "Browse" never sounds like mailclient.

I don't agree.  I expect users to use `C-h v' and `C-h f' when they see
variables and functions explicitly mentioned in an error message (or in
a status message before things go awry).

If the message is prefixed with "mailclient-send-it: " or if
[shortened-mailto-stuff] actually included the "mailto:" URL scheme, it
should be clear what browse-url is being used for.

 > How about
 >
 > (message "Delegated message to default mail client.")

That tells me... nothing.

 > But most importantly, we should see if the "Message sent" message can
 > be avoided, since it's plain and simply wrong from the user's 
perspective.

No, it's just been sent to a different destination than the user
assumes.  :-)

How about "Message dispatched"?

-- 
Kevin Rodgers

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: gnus / message-send-mail-with-mailclient [patch]
  2006-03-24 20:29                   ` Kevin Rodgers
@ 2006-03-26  9:35                     ` David Reitter
  0 siblings, 0 replies; 13+ messages in thread
From: David Reitter @ 2006-03-26  9:35 UTC (permalink / raw)
  Cc: ding, emacs-devel

On 24 Mar 2006, at 20:29, Kevin Rodgers wrote:

> > These require developer-level knowledge and add to the general
> > information overload. "Browse" never sounds like mailclient.
>
> I don't agree.  I expect users to use `C-h v' and `C-h f' when they  
> see
> variables and functions explicitly mentioned in an error message  
> (or in
> a status message before things go awry).

Part of the problem is that there are no general levels for verbosity  
(or is there?), and that all messages are shown in the echo area  
instead of those which are relevant in the functioning case and  
understandable without detailed knowledge. C-h v and C-h f are fine  
when you're debugging something. But don't expect people to refer to  
the documentation just to comprehend a status message, or merely to  
be able to decide whether the status message indicates success or not.

> If the message is prefixed with "mailclient-send-it: " or if
> [shortened-mailto-stuff] actually included the "mailto:" URL  
> scheme, it
> should be clear what browse-url is being used for.
>
> > How about
> >
> > (message "Delegated message to default mail client.")
>
> That tells me... nothing.

It tells ME that the message at hand was handed over to the mail  
client which is set set up as the default handler for mail.
How about this:

mailclient-send-it: Delegated <...mailto...> to mail client.
Message dispatched.

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2006-03-26  9:35 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-09 12:06 gnus / message-send-mail-with-mailclient [patch] David Reitter
2006-03-16 21:27 ` Reiner Steib
2006-03-17  7:39   ` David Reitter
2006-03-17 11:33   ` Eli Zaretskii
2006-03-17 12:37     ` David Reitter
2006-03-17 17:10       ` Reiner Steib
2006-03-18 10:36         ` Eli Zaretskii
2006-03-18 11:44           ` Reiner Steib
2006-03-22 10:36             ` David Reitter
2006-03-24 14:29               ` Reiner Steib
2006-03-24 17:15                 ` David Reitter
2006-03-24 20:29                   ` Kevin Rodgers
2006-03-26  9:35                     ` David Reitter

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.