all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* `send-mail-function' default change
@ 2011-07-06 15:38 Lars Magne Ingebrigtsen
  2011-07-06 17:26 ` Eli Zaretskii
  2011-07-07  0:33 ` Richard Stallman
  0 siblings, 2 replies; 13+ messages in thread
From: Lars Magne Ingebrigtsen @ 2011-07-06 15:38 UTC (permalink / raw)
  To: emacs-devel

As previously discussed, the default of `send-mail-function' changes to
`sendmail-query-once'.  I'm checking in this change in a few minutes,
but you'll probably have to say "make clean; make" for it to happen,
since it uses the special `custom-initialize-delay' initialiser, which
means that loaddefs.el has to change in some unspecified way.

Anyway, after this has happened in your Emacs, you will be prompted for
how email is to be sent (once), and the choice will be saved via
`customize'.

I realise that this is a controversial change, but it seems like there's
a rough consensus² that this is the right thing to do.  Give it a whirl
and report back any problems, and give suggestions for how this should
work better.

---
²) Very rough.

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




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

* Re: `send-mail-function' default change
  2011-07-06 15:38 `send-mail-function' default change Lars Magne Ingebrigtsen
@ 2011-07-06 17:26 ` Eli Zaretskii
  2011-07-06 17:36   ` Lars Magne Ingebrigtsen
  2011-07-07  0:33 ` Richard Stallman
  1 sibling, 1 reply; 13+ messages in thread
From: Eli Zaretskii @ 2011-07-06 17:26 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: emacs-devel

> From: Lars Magne Ingebrigtsen <larsi@gnus.org>
> Date: Wed, 06 Jul 2011 17:38:25 +0200
> 
> As previously discussed, the default of `send-mail-function' changes to
> `sendmail-query-once'.  I'm checking in this change in a few minutes,
> but you'll probably have to say "make clean; make" for it to happen,
> since it uses the special `custom-initialize-delay' initialiser, which
> means that loaddefs.el has to change in some unspecified way.
> 
> Anyway, after this has happened in your Emacs, you will be prompted for
> how email is to be sent (once), and the choice will be saved via
> `customize'.

Please add to NEWS a detailed description of how to move the old
smtpmail setup to the brave new world.  Please don't just tell "follow
the prompts", but describe what I need to do to have my current setup
immediately operational after this change.  I don't like being led by
Customize, I like to have full control of what's written to my
dot-files, so I want to do this manually.  I'm quite sure I'm not the
only one with that attitude.

The current text in NEWS tells only part of the story; Óscar's ordeal
clearly indicates that it's incomplete and not detailed enough.
Please make it more detailed and complete.

Using email is a very fundamental part of using the Internet.  Having
an upgrade disable this ability is annoying to say the least.  Let's
not risk that.

I think my setup is very similar of Óscar's, btw.  I have the
following variables defined:

  smtpmail-smtp-server
  smtpmail-smtp-service
  smtpmail-auth-credentials

The latter defines my username and password for logging into my ISP's
SMTP server.  I don't currently use STATTLS.

TIA




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

* Re: `send-mail-function' default change
  2011-07-06 17:26 ` Eli Zaretskii
@ 2011-07-06 17:36   ` Lars Magne Ingebrigtsen
  2011-07-06 17:56     ` Eli Zaretskii
  2011-07-06 20:13     ` Stefan Monnier
  0 siblings, 2 replies; 13+ messages in thread
From: Lars Magne Ingebrigtsen @ 2011-07-06 17:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> Please add to NEWS a detailed description of how to move the old
> smtpmail setup to the brave new world.

[...]

> I think my setup is very similar of Óscar's, btw.  I have the
> following variables defined:
>
>   smtpmail-smtp-server
>   smtpmail-smtp-service
>   smtpmail-auth-credentials
>
> The latter defines my username and password for logging into my ISP's
> SMTP server.  I don't currently use STATTLS.

Ok, perhaps we can work out a text here?

---------------
** smtpmail has been largely rewritten to upgrade to STARTTLS if
possible, and uses the auth-source framework for getting credentials.
The rewrite should be largely compatible with previous versions of
smtpmail, but there are two major incompatibilities:

** `smtpmail-auth-credentials' no longer exists.  That variable used to
be be either ~/.authinfo (in which case you're fine -- you won't see any
difference), but if it were a direct list of user names and passwords,
you will be prompted for the user name and the password instead, and
they will then be saved to ~/.authinfo.

If you wish to copy over all the credentials from
`smtpmail-auth-credentials' to your ~/.authinfo file manually, instead
of letting smtpmail prompt you for these values, that's also possible.

If you had, for instance,

(setq smtpmail-auth-credentials
      '(("mail.example.org" 25 "jim" "s!cret")))

then the equivalent line in ~/.authinfo would be

machine mail.example.org port 25 login jim password s!cret

** Similarly, `smtpmail-starttls-credentials' no longer exists.  If
you had thet set, then then you need to put

machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert "~/.my_smtp_tls.cert"

in your ~/.authinfo file instead.
---------------

Would that do?

But it strikes me here that perhaps there should just be a function like
`M-x smtpmail-save-old-credentials' that would do this for you.  It
would be utterly trivial to write.  :-)

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/



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

* Re: `send-mail-function' default change
  2011-07-06 17:36   ` Lars Magne Ingebrigtsen
@ 2011-07-06 17:56     ` Eli Zaretskii
  2011-07-06 20:13     ` Stefan Monnier
  1 sibling, 0 replies; 13+ messages in thread
From: Eli Zaretskii @ 2011-07-06 17:56 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: emacs-devel

> From: Lars Magne Ingebrigtsen <larsi@gnus.org>
> Cc: emacs-devel@gnu.org
> Date: Wed, 06 Jul 2011 19:36:10 +0200
> 
> Would that do?

Yes, this is good, modulo the comment about the gnutls connection, see
my other mail.

Thanks.

> But it strikes me here that perhaps there should just be a function like
> `M-x smtpmail-save-old-credentials' that would do this for you.  It
> would be utterly trivial to write.  :-)

Feel free, but I'm not sure it's worth your time, given that all I
need is to type two lines.



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

* Re: `send-mail-function' default change
  2011-07-06 17:36   ` Lars Magne Ingebrigtsen
  2011-07-06 17:56     ` Eli Zaretskii
@ 2011-07-06 20:13     ` Stefan Monnier
  2011-07-07 11:19       ` Lars Magne Ingebrigtsen
  1 sibling, 1 reply; 13+ messages in thread
From: Stefan Monnier @ 2011-07-06 20:13 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: Eli Zaretskii, emacs-devel

> difference), but if it were a direct list of user names and passwords,
> you will be prompted for the user name and the password instead, and
> they will then be saved to ~/.authinfo.

Make this clearly say that those settings will be ignored (in
consequence of which, Emacs will instead prompt for those things).


        Stefan



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

* Re: `send-mail-function' default change
  2011-07-06 15:38 `send-mail-function' default change Lars Magne Ingebrigtsen
  2011-07-06 17:26 ` Eli Zaretskii
@ 2011-07-07  0:33 ` Richard Stallman
  2011-07-07 20:31   ` Stefan Monnier
  1 sibling, 1 reply; 13+ messages in thread
From: Richard Stallman @ 2011-07-07  0:33 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: emacs-devel

This should not be done until it is fixed not to cause breakage
on all the machines where sendmail does work.


-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use free telephony http://directory.fsf.org/category/tel/



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

* Re: `send-mail-function' default change
  2011-07-06 20:13     ` Stefan Monnier
@ 2011-07-07 11:19       ` Lars Magne Ingebrigtsen
  0 siblings, 0 replies; 13+ messages in thread
From: Lars Magne Ingebrigtsen @ 2011-07-07 11:19 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Eli Zaretskii, emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> difference), but if it were a direct list of user names and passwords,
>> you will be prompted for the user name and the password instead, and
>> they will then be saved to ~/.authinfo.
>
> Make this clearly say that those settings will be ignored (in
> consequence of which, Emacs will instead prompt for those things).

Ok; I've now checked in a text that I think clarifies, but please go
ahead and rewrite if anything is unclear.

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/



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

* Re: `send-mail-function' default change
  2011-07-07  0:33 ` Richard Stallman
@ 2011-07-07 20:31   ` Stefan Monnier
  2011-07-07 20:56     ` Lars Magne Ingebrigtsen
  2011-07-08  0:07     ` Richard Stallman
  0 siblings, 2 replies; 13+ messages in thread
From: Stefan Monnier @ 2011-07-07 20:31 UTC (permalink / raw)
  To: rms; +Cc: Lars Magne Ingebrigtsen, emacs-devel

> This should not be done until it is fixed not to cause breakage
> on all the machines where sendmail does work.

This can't be done, because there's no reliable way to check whether
sendmail does work.


        Stefan



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

* Re: `send-mail-function' default change
  2011-07-07 20:31   ` Stefan Monnier
@ 2011-07-07 20:56     ` Lars Magne Ingebrigtsen
  2011-07-07 21:24       ` Stefan Monnier
  2011-07-10  5:01       ` Tim Cross
  2011-07-08  0:07     ` Richard Stallman
  1 sibling, 2 replies; 13+ messages in thread
From: Lars Magne Ingebrigtsen @ 2011-07-07 20:56 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: rms, emacs-devel

Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

> This can't be done, because there's no reliable way to check whether
> sendmail does work.

One thing that I don't think has been discussed in this area (yay!
another sub-thread in an unending thread) is the issue of failing early
versus retrying.

Here's the issue:

You're using a laptop at home, and you've got exim configured to (for
instance) send mail directly (because your ISP does not block port 25),
and things work fine.

Then you bring the laptop with you while going on holiday.  You read
your email, as usual, from imap.example.com, and you're replying as
usual.  But the hotel you're at is blocking port 25.

exim will then queue up the messages, and after a certain time period,
it'll send you a (local) message saying that it couldn't send the
emails.  (If I recall correctly, the default is one day.)  It will retry
sending for four days, so if you go home before that time, it will send
all the messages when you get home.

Now, you won't see any error messages in this period.  You most likely
aren't reading the local /var/mail/spool/.  So if this is something
you're not familiar with, you'll wonder where the emails went.  If you
are familiar with this situation, you'll figure it out after a while,
reconfigure, and flush the queue.

If Emacs talks SMTP directly, you will get an error message immediately
at the hotel, and can choose to reconf, or you can choose to queue the
mail in Emacs.

Now, some people will prefer different behaviours.  Some people probably
use the let-exim-queue-locally-until-I-get-home behaviour, and find that
it suits their needs.

But I have a suspicion that most people would like to get an error
message as early as possible.

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/



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

* Re: `send-mail-function' default change
  2011-07-07 20:56     ` Lars Magne Ingebrigtsen
@ 2011-07-07 21:24       ` Stefan Monnier
  2011-07-09  3:26         ` Tim Cross
  2011-07-10  5:01       ` Tim Cross
  1 sibling, 1 reply; 13+ messages in thread
From: Stefan Monnier @ 2011-07-07 21:24 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: rms, emacs-devel

> But I have a suspicion that most people would like to get an error
> message as early as possible.

That's part of the choice between smtpmail and sendmail.
So it's not related to the change of defaults, except that it makes this
choice more explicit.


        Stefan



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

* Re: `send-mail-function' default change
  2011-07-07 20:31   ` Stefan Monnier
  2011-07-07 20:56     ` Lars Magne Ingebrigtsen
@ 2011-07-08  0:07     ` Richard Stallman
  1 sibling, 0 replies; 13+ messages in thread
From: Richard Stallman @ 2011-07-08  0:07 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: larsi, emacs-devel

    This can't be done, because there's no reliable way to check whether
    sendmail does work.

There is no obvious way, but there may be a way.  You have given up
too quickly.  Earlier today I posed some questions to get info with
which we may find a way.

-- 
Dr Richard Stallman
President, Free Software Foundation
51 Franklin St
Boston MA 02110
USA
www.fsf.org  www.gnu.org
Skype: No way! That's nonfree (freedom-denying) software.
  Use free telephony http://directory.fsf.org/category/tel/



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

* Re: `send-mail-function' default change
  2011-07-07 21:24       ` Stefan Monnier
@ 2011-07-09  3:26         ` Tim Cross
  0 siblings, 0 replies; 13+ messages in thread
From: Tim Cross @ 2011-07-09  3:26 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: Lars Magne Ingebrigtsen, rms, emacs-devel

On Fri, Jul 8, 2011 at 7:24 AM, Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>> But I have a suspicion that most people would like to get an error
>> message as early as possible.
>
> That's part of the choice between smtpmail and sendmail.
> So it's not related to the change of defaults, except that it makes this
> choice more explicit.
>
>
>        Stefan
>
>

Huh? Its exactly what this was about (ignoring the subsequent addition
of the prompting/helper function). The default has been sendmail and
the original suggestion was to change it to smtpmail.

To some extent, the debate has moved on to the issue of making the
choice more explicit via the config helper function, but the original
instigator was the proposal to change to a default of smtpmail. The
new proposed default will require that everyone now make an explicit
choice where previously, only those wanting smtpmail had to make that
explicit choice. For some, this did mean things did not work, either
because of a misconfigured or missing MTA or because of external
restrictions, such as laptops on a foreign network or ISP firewalls
etc. However, for others, such as those on win32 or those on GNU Linux
desktops with a working MTA, there was no need to make an explicit
choice or even have the knowledge to understand what this choice meant
and how to make the correct one.

Tim



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

* Re: `send-mail-function' default change
  2011-07-07 20:56     ` Lars Magne Ingebrigtsen
  2011-07-07 21:24       ` Stefan Monnier
@ 2011-07-10  5:01       ` Tim Cross
  1 sibling, 0 replies; 13+ messages in thread
From: Tim Cross @ 2011-07-10  5:01 UTC (permalink / raw)
  To: Lars Magne Ingebrigtsen; +Cc: emacs-devel, Stefan Monnier, rms

On Fri, Jul 8, 2011 at 6:56 AM, Lars Magne Ingebrigtsen <larsi@gnus.org> wrote:
> Stefan Monnier <monnier@IRO.UMontreal.CA> writes:
>
>> This can't be done, because there's no reliable way to check whether
>> sendmail does work.
>
> One thing that I don't think has been discussed in this area (yay!
> another sub-thread in an unending thread) is the issue of failing early
> versus retrying.
>
> Here's the issue:
>
> You're using a laptop at home, and you've got exim configured to (for
> instance) send mail directly (because your ISP does not block port 25),
> and things work fine.
>
> Then you bring the laptop with you while going on holiday.  You read
> your email, as usual, from imap.example.com, and you're replying as
> usual.  But the hotel you're at is blocking port 25.
>
> exim will then queue up the messages, and after a certain time period,
> it'll send you a (local) message saying that it couldn't send the
> emails.  (If I recall correctly, the default is one day.)  It will retry
> sending for four days, so if you go home before that time, it will send
> all the messages when you get home.
>
> Now, you won't see any error messages in this period.  You most likely
> aren't reading the local /var/mail/spool/.  So if this is something
> you're not familiar with, you'll wonder where the emails went.  If you
> are familiar with this situation, you'll figure it out after a while,
> reconfigure, and flush the queue.
>
> If Emacs talks SMTP directly, you will get an error message immediately
> at the hotel, and can choose to reconf, or you can choose to queue the
> mail in Emacs.
>
> Now, some people will prefer different behaviours.  Some people probably
> use the let-exim-queue-locally-until-I-get-home behaviour, and find that
> it suits their needs.
>
> But I have a suspicion that most people would like to get an error
> message as early as possible.
>

For me, this scenario is just one of the complexities covered under
the mobile computing paradigm. It is probably the most compelling
argument for changing the default. However, it is probably only really
relevant for those who use emacs as their mail client.

 The specific case you raise is likely quite rare as most ISPs have
blocked port 25 due to issues relating to their domain being used for
spamming and needing to have some control over what can be sent. THe
common configuration is to allow anyone with an IP address within
their control to relay mail through their server (usually without
authentication) and to block port 25.  Most ISPs also offer and
authenticated server as well, which is there to support their clients
who use mobile devices and want to use the ISPs mail server from
foreign networks.

The configuration you propose was fairly common prior to this change
by ISPs. However, it would be vary rare for a mail client to be setup
to send mail through the local MTA and NOT also read mail from the
local mail spool. The many mail clients I've used on systems with a
local MTA default to reading the local mail spool and need to be
explicitly configured not to (mutt, pine, exmh and most emacs based
clients - I think even thunderbird will by default if you configure it
to use the local MTA, though it does by default look for a remote
server using thier ISP server lookup functionality).

To some extent, I think we need to be less worried about users who do
explicit mail customization. These are usually users who have a
certain level of investment in getting things working. The ones at
issue are those who found mail just worked and those who only use
emacs for mail as a side-effect of some other action, such as sending
a bug report.

Tim



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

end of thread, other threads:[~2011-07-10  5:01 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-06 15:38 `send-mail-function' default change Lars Magne Ingebrigtsen
2011-07-06 17:26 ` Eli Zaretskii
2011-07-06 17:36   ` Lars Magne Ingebrigtsen
2011-07-06 17:56     ` Eli Zaretskii
2011-07-06 20:13     ` Stefan Monnier
2011-07-07 11:19       ` Lars Magne Ingebrigtsen
2011-07-07  0:33 ` Richard Stallman
2011-07-07 20:31   ` Stefan Monnier
2011-07-07 20:56     ` Lars Magne Ingebrigtsen
2011-07-07 21:24       ` Stefan Monnier
2011-07-09  3:26         ` Tim Cross
2011-07-10  5:01       ` Tim Cross
2011-07-08  0:07     ` Richard Stallman

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.