[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SMPT no longer works in Starttls upon upgrading from emacs-22.3-bin-

From: Marco Maggi
Subject: Re: SMPT no longer works in Starttls upon upgrading from emacs-22.3-bin-i386 to emacs-23.1-bin-i386 on Windows XP Professional, Service Pack 3.
Date: Tue, 08 Sep 2009 12:50:55 +0200

"Benjamin L. Russell" wrote:
> Apparently,  it   is  possible  to   send  e-mail  through
> gnutils-cli  successfully  using  an  immediate  encrypted
> bridge
> [...]
> However, when I try to  send an EOF to the process through
> the  Emacs  eshell function  "eshell-send-eof-to-process",
> for some reason, the TLS handshake fails; [...]

Here is  a copy and paste  of an eshell session  on my Linux
system (I am doing this  from Italy, whatever this means for
IP addresses):

| $ gnutls-cli --crlf --starttls --port 587
| Resolving ''...
| Connecting to ''...
| - Simple Client Mode:
| 220 ESMTP
| ehlo localhost
| 250 8BITMIME

among the 250 lines there is no STARTTLS capability, so:

| starttls
| 502 Command not implemented

which means  that the  server does not  support establishing
the TLS  layer with STARTTLS  through the 587  interface; so
the only option is to  use port 465 and the immediate bridge
(SMTP-over-SSL mode).

  If  this is  the  case, it  is  not a  problem with  Gnus,
Message,  or Emacs  in itself.   Rather it  is a  problem of
"smtpmail.el" because, AFAICT,  it only supports delayed TLS
layer creation (STARTTLS mode), as I already reported to the
Emacs mailing list[1].

  After a  quick inspection of  "smtpmail.el.gz" distributed
with Emacs 23,  I say that the feature  request has not been
satisfied; at least, around line 678, I do not see code that
can  be  used to  build  the  TLS  bridge (send  SIGALRM  or
whatever) before sending the EHLO greetings.

  So  either you must  use an  external Mail  Delivery Agent
(which, by the way, is what  I do with the MBFL script).  Is
my understanding  that you want to use  MSMTP[2] correct?  I
do not use it, but it seems it can act as MDA for you.

  Again,   first  you   should  make   sure  that   you  can
successfully send email using a raw command line with MSMTP.
If that works, IMHO:

(setq send-mail-function 'message-send-mail-with-sendmail
      message-send-mail-function 'message-send-mail-with-sendmail)

should work,  with the right configuration,  because you can
select all the relevant options with the MSMTP configuration

> Additionally,  here  are  the  relevant portions  from  my
> msmptrc.txt file
> defaults
> tls on
> tls_certcheck off
> tls_starttls on

IMHO, reading [4], it should be "tls_starttls off", meaning:
use TLS with SMTP-over-SSL mode not with STARTTLS mode.

  As a  last resort, if you  know how to use  MSMTP from the
command line  to send email using  port 465, you  may try to
adapt  my  library[3]  for   sending  email  with  a  custom
"message-send-mail-function" function.

  MSMTP is  in my  endless "list of  programs to  check out,
sooner or later", so I am interested in how to make it work,

[1] <>
[2] <>
[3] <>
[4] <>
Marco Maggi

reply via email to

[Prev in Thread] Current Thread [Next in Thread]