[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
smtpmail.el: PLAIN authentication fails
From: |
Ralf Angeli |
Subject: |
smtpmail.el: PLAIN authentication fails |
Date: |
Mon, 05 Dec 2005 20:38:07 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
The SMTP PLAIN authentication mechanism doesn't seem to work in
smtpmail.el. At least it didn't when I tried it with smtp.web.de.
Here is an SMTP trace (hostname and IP address obfuscated):
--8<---------------cut here---------------start------------->8---
220 smtp07.web.de ESMTP WEB.DE V4.105#333 Mon, 05 Dec 2005 20:10:04 +0100
EHLO my.host
250-smtp07.web.de Hello my.host [xxx.xxx.xxx.xxx]
250-SIZE 69920427
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
AUTH PLAIN
535 Incorrect authentication data
QUIT
221 smtp07.web.de closing connection
Process SMTP deleted
--8<---------------cut here---------------end--------------->8---
I could not find an RFC describing exactly the syntax of the AUTH
command for PLAIN authentication but in all the examples I found on
the net the credentials are passed along with the "AUTH PLAIN"
string. That means instead of "AUTH PLAIN" smtpmail.el should submit
"AUTH PLAIN <base64-encoded credentials>" to the server.
With the following change to smtpmail.el I could be authenticated at
the SMTP server and send a mail:
2005-12-05 Ralf Angeli <address@hidden>
* mail/smtpmail.el (smtpmail-try-auth-methods): Send
credentials together with "AUTH PLAIN" command. Use manually
entered password for PLAIN authentication if respective
element in `smtpmail-auth-credentials' is nil.
--8<---------------cut here---------------start------------->8---
--- /home/angeli/scratch/smtpmail.el~ 2005-12-05 20:17:39.000000000 +0100
+++ /home/angeli/scratch/smtpmail.el 2005-12-05 20:18:46.000000000 +0100
@@ -560,16 +560,13 @@
(>= (car ret) 400))
(throw 'done nil)))
((eq mech 'plain)
- (smtpmail-send-command process "AUTH PLAIN")
- (if (or (null (car (setq ret (smtpmail-read-response process))))
- (not (integerp (car ret)))
- (not (equal (car ret) 334)))
- (throw 'done nil))
- (smtpmail-send-command process (base64-encode-string
+ (smtpmail-send-command process
+ (concat "AUTH PLAIN "
+ (base64-encode-string
(concat "\0"
(smtpmail-cred-user cred)
"\0"
- (smtpmail-cred-passwd cred))))
+ passwd))))
(if (or (null (car (setq ret (smtpmail-read-response process))))
(not (integerp (car ret)))
(not (equal (car ret) 235)))
--8<---------------cut here---------------end--------------->8---
Also note, that `passwd' is used in the string for the credentials
instead of `(smtpmail-cred-passwd cred)' which can be nil. `passwd'
will contain the correct value in any case.
In GNU Emacs 22.0.50.1 (i486-pc-linux-gnu, GTK+ Version 2.6.10)
of 2005-12-02 on pacem, modified by Debian
configured using `configure '--build' 'i486-linux-gnu' '--host'
'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib'
'--libexecdir=/usr/lib' '--localstatedir=/var' '--infodir=/usr/share/info'
'--mandir=/usr/share/man' '--with-pop=yes'
'--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/22.0.50/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/22.0.50/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/22.0.50/leim'
'--with-x=yes' '--with-x-toolkit=gtk' 'CFLAGS=-DDEBIAN -g -Wno-pointer-sign
-O2' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: en_US
locale-coding-system: iso-latin-1
default-enable-multibyte-characters: t
Major mode: Lisp Interaction
Minor modes in effect:
desktop-save-mode: t
display-time-mode: t
iswitchb-mode: t
recentf-mode: t
show-paren-mode: t
encoded-kbd-mode: t
auto-compression-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
ESC x r e p o r t - e m TAB RET
Recent messages:
Loading recentf...done
Loading /home/angeli/.recentf...done
Cleaning up the recentf list...done (0 removed)
Loading iswitchb...done
Loading time...done
Loading desktop...done
No desktop file.
For information about the GNU Project and its goals, type C-h C-p.
Loading cl-seq...done
Loading emacsbug...done
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- smtpmail.el: PLAIN authentication fails,
Ralf Angeli <=