如何检索/协商 SMTP 服务器支持的安全方法和身份验证方法

发布于 2024-12-03 12:20:01 字数 486 浏览 0 评论 0原文

我正在使用 C# (.NET 4.0) 和 System.Net.Mail.SmtpClient 类将电子邮件发送到 SMTP 服务器。 现在我能够实际发送一封电子邮件到 SMTP 服务器并立即在我的 Thunderbird 收件箱文件夹中看到它。

该测试未指定任何身份验证方法或安全方法。 但我认为 SMTP 服务器通常需要某种身份验证。

我想知道是否可以询问 SMTP 服务器它支持哪些身份验证方法,然后协商使用所需的方法。 我正在考虑向 SMTP 服务器询问支持的身份验证方法并获取以下列表:

  • 无身份验证
  • 密码、纯文本
  • 密码、加密的
  • Kerberos
  • NTLM

相应的连接安全方法:

  • 连接上没有安全性
  • STARTTLS
  • SSL/TLS

有没有办法以编程方式从 SMTP 服务器检索支持的方法?

I am using C# (.NET 4.0) and the System.Net.Mail.SmtpClient Class in order to send an EMail to a SMTP-Server.
For now i'm able to actual send an EMail to the SMTP-Server and see it immediatly in my Inbox-Folder of Thunderbird.

This Test was without specifiying any Authentication Methods nor Security Methods.
But usually SMTP-Server requires some kind of Authentication, i assume.

I wonder, whether it is possible to ask the SMTP-Server, what Authentication Methods it supports and afterwards negotiate to use the desired one.
I'm thinking of something like asking the SMTP-Server about the supported Authentication Methods and get back a list of e.g.:

  • No Authentication
  • Password, plaintext
  • Password, crypted
  • Kerberos
  • NTLM

Accordingly for the Security Methode of the Connection:

  • No Security on the Connection
  • STARTTLS
  • SSL/TLS

Is there a Way to programmatically retrieve the supported Methods from a SMTP-Server?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

⒈起吃苦の倖褔 2024-12-10 12:20:01

这是可能的,但不是通过 .NET 类;相反,您需要使用套接字级连接将适当的 EHLO 请求发送到服务器,然后解析响应。

有关您需要的套接字编程的详细信息,请参见:如何验证 SMTP 服务器

想要解析来自服务器的响应。关于 SMTP AUTH 的 Wikipedia 条目有一个有用的示例对话框: http://en.wikipedia.org/wiki/ SMTP_Authentication

实用程序,例如 Wireshark (http://www.wireshark.org/) 可以方便地调试此类工作。

It is possible, but not through the .NET class; rather, you'll need to use a socket-level connection to send the appropriate EHLO request to the server and then parse the response.

Details on the socket programming you'll need are here: How to validate SMTP server

You'll want to parse the response from the server. The Wikipedia entry on SMTP AUTH has a useful sample dialog: http://en.wikipedia.org/wiki/SMTP_Authentication

Utilities like Wireshark (http://www.wireshark.org/) can be handy debugging this kind of work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文