c# - 使用 smtp 对 Intranet 的用户进行身份验证

标签 c# .net authentication smtp pop3

我有大约 400 名在我们公司使用电子邮件的用户,我们正在为他们启动一个内部网,我正在为应用程序层使用 .Net Framework (C#)。我们想使用与他们的电子邮件相同的凭据对这些用户进行身份验证,我们的电子邮件提供商没有此类服务,因此我想到了使用 SMTP 服务器(需要身份验证)对他们进行身份验证。

我在 SmtpClient 上搜索了 Authenticate() 方法类,但无济于事,无法只进行身份验证。以前有没有人必须解决这种问题?我想我必须打开一个到 SMTP 服务器的套接字并自己发送命令,但也许有更简单的方法。

最佳答案

既然你有一个 SMTP 服务器,我假设你也有一个 POP3 服务器。我认为,假设 POP3 和 SMTP 的凭据相同,我也是安全的。

如果我的假设是正确的(很有可能),您可以通过 POP3 而不是 SMTP 来验证它们。

因此,您可以使用 Pop3Client类,它提供了不止一种认证方式:

这样,您的代码将:

  1. 连接
  2. 验证(检查异常)
  3. 断开连接

一切就绪!

关于c# - 使用 smtp 对 Intranet 的用户进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6494597/

相关文章:

c# - 从列表对象转换为 C# 中的类

c# - 替换包含文件中随机数的字符串

rest - 我是否需要对/登录端点进行 CSRF 保护?

php - Cookie token认证登录方式

c# - SQL 和 C# 从数据库检索单个记录

c# - UWP/XAML 中字典的双向数据绑定(bind)

.net - 不可变对象(immutable对象)的线程安全性如何?

c# - 如何添加 net5.0 Worker 应用程序 AddJsonOptions

c# - 在 C# 中获取本地 Windows 用户登录 session 时间戳

c# - SMTP 中的传递通知