Title | P4DTI doesn't do ESMTP authentication |
Status | suspended |
Priority | optional |
Assigned user | Nick Barnes |
Organization | Ravenbrook |
Description | Some ESMTP servers (e.g. Microsoft Exchange) may be configured to require authentication (RFC 2554). The P4DTI doesn't do this, so can not send email via these servers. This won't stop it working, but conflicts and failures won't be reported to the administrator or relevant users. |
Analysis | Python's smtplib library now (Python 2.2) supports ESMTP AUTH, with the login() method. We should support the use of this via advanced configuration. Under older versions of smtplib, one could do something like this: def auth(username, password): import base64 (code,repl) = smtp.docmd("auth login") if code == 334: u64 = base64.encodestring(username)[:-1] (code,repl) = smtp.docmd(u64) u64 = base64.encodestring(password)[:-1] (code,repl) = smtp.docmd(u64) if code != 235: raise ("SMTP authentication error %d: %s" % (code, repl)) return (code,repl) |
How found | customer |
Evidence | <URL: http://info.ravenbrook.com/mail/2001/02/03/01-52-33/0.txt > |
Observed in | 0.4.2 |
Created by | Nick Barnes |
Created on | 2001-02-08 14:24:17 |
Last modified by | Nick Barnes |
Last modified on | 2018-07-05 17:27:29 |
History | 2001-02-08 NB Created. 2001-02-19 GDR Downgraded to 'optional'. 2001-03-02 NB Changed description 2003-05-19 NB Updated to reflect current Python smtplib status. 2018-07-05 NB Suspended because the P4DTI is obsolete. |
Support | Advice for all releases. Symptom. The replicator fails to start, reporting an authentication failure from its SMTP server. (It would be nice to have the actual error message here, but I didn't record it at the time.) Cause. The mail server is using the ESMTP protocol and requires clients to authenticate themselves. The P4DTI doesn't support ESMTP authentication. Workarounds. You can stop the replicator from attempting to send e-mail by setting the |