info-gnus-english
[Top][All Lists]
Advanced

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

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


From: Benjamin L. Russell
Subject: 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: Thu, 03 Sep 2009 18:56:23 +0900
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (windows-nt)

For some reason, 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.

When I try to send mail via SMTP, the following error message appears in
the minibuffer:

> Autoloading failed to define function starttls-any-program-available

A look at the *Messages* buffer reveals the following relevant lines:

> Sending via mail...
> smtpmail-open-stream: Autoloading failed to define function 
> starttls-any-program-available

My previous starttls.el file (in my C:\bin\emacs-23.1\site-lisp\
directory) did not contain the function
"starttls-any-program-available", so after reading the article "Re:
smtpmail and starttls improvement when starttls program is missing" (see
http://www.opensubscriber.com/message/emacs-devel@gnu.org/10640587.html),
I updated my starttls.el file, with the file contents at
http://www.update.uu.se/~ams/home/home/emacs/lisp/gnus/starttls.el.
Here is the relevant portion:

> (defun starttls-open-stream (name buffer host port)
>   "Open a TLS connection for a port to a host.
> Returns a subprocess object to represent the connection.
> Input and output work as for subprocesses; `delete-process' closes it.
> Args are NAME BUFFER HOST PORT.
> NAME is name for process.  It is modified if necessary to make it unique.
> BUFFER is the buffer (or `buffer-name') to associate with the process.
>  Process output goes at end of that buffer, unless you specify
>  an output stream or filter function to handle the output.
>  BUFFER may be also nil, meaning that this process is not associated
>  with any buffer
> Third arg is name of the host to connect to, or its IP address.
> Fourth arg PORT is an integer specifying a port to connect to.
> If `starttls-use-gnutls' is nil, this may also be a service name, but
> GNUTLS requires a port number."
>   (if starttls-use-gnutls
>       (starttls-open-stream-gnutls name buffer host port)
>     (message "Opening STARTTLS connection to `%s:%s'" host (format "%s" port))
>     (let* ((process-connection-type starttls-process-connection-type)
>          (process (apply #'start-process
>                          name buffer starttls-program
>                          host (format "%s" port)
>                          starttls-extra-args)))
>       (starttls-set-process-query-on-exit-flag process nil)
>       process)))

> (defun starttls-any-program-available ()
>   (let ((program (if starttls-use-gnutls
>                    starttls-gnutls-program
>                  starttls-program)))
>     (condition-case ()
>       (progn
>         (call-process program)
>         program)
>       (error (progn
>              (message "No STARTTLS program was available (tried '%s')"
>                       program)
>              nil)))))

> (provide 'starttls)

However, the error message still appears.

I copied starttls.el directly without installing gnutils, which is more
difficult to install on Windows than on Linux/UNIX.

Does anybody know how to resolve this issue?

Any help would be appreciated.

-- Benjamin L. Russell
-- 
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^ 


reply via email to

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