首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lamson能否在TLS/SSL下运行并对用户进行身份验证?

Lamson能否在TLS/SSL下运行并对用户进行身份验证?
EN

Stack Overflow用户
提问于 2012-12-04 09:07:56
回答 1查看 455关注 0票数 4

在向Lamson发送邮件之前,我找不到任何关于用户身份验证的信息。我唯一提到的SSL/TLS是在Relay类中,据我所知,该类在Lamson完成消息处理后运行。我希望Lamson在进行任何处理之前检查LDAP凭据,但我不希望通过网络发送的密码未加密。如果有某种类型的处理程序,我可以处理LDAP部分,而我也没有找到这些处理程序。

目前我还没有编写任何代码,只是通过阅读文档来探索选项。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-30 16:54:29

答案是Lamson不支持SMTP AUTH ( SMTP扩展将要求用户在电子邮件被服务器接受之前进行身份验证),仅仅是因为它构建在Python库smtpd模块之上,该模块本身不支持SMTP AUTH。

您可以通过查看lamson.server.SMTPReceiver的源代码(这是在Lamson中实现传入SMTP服务器并从smptd.SMTPServer继承的类)和smtpd.SMTPChannel (在将传入的SMTP消息传递到smtpd.SMTPServer.process_message()之前首先处理传入的SMTP消息的类)来验证这一点。

然而,并不是所有的东西都丢失了,这个项目是标准库的smptd的副产品,它的目标是提供对SMTP AUTH和SSL的支持(涵盖您的两个需求)。

因此,您可以编写一个从上面的项目的SMTPServer派生出来的新类,它模拟Lamson的STMPReceiver的行为。然后,在Lamson的config/boot.py中,您需要更改行:

代码语言:javascript
复制
from lamson.server import Relay, SMTPReceiver

至:

代码语言:javascript
复制
from lamson.server import Relay
from my_module import my_class as SMTPReceiver

酌情替换my_modulemy_class,以加载新编写的类。

然后,这将确保在进行任何进一步处理之前Lamson接收电子邮件消息时执行用户身份验证。当然,您将确保仅通过SSL启用连接,并实现LDAP部分(除非某些SASL实现或其他实现提供了该部分)。

我想这很能说明问题。祝你好运:)

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13699324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档