c# - 如何在不发送消息的情况下测试我的电子邮件设置?

标签 c# email c#-3.0

作为我的应用程序配置过程的一部分,我有一个完整性检查器来验证所有用户提供的数据。这包括应用程序用于发送电子邮件的电子邮件服务器设置。

我想在不发送任何电子邮件的情况下对这些设置进行简单的完整性检查。如果这可以支持所有标准风格的 SMTP 设置,包括那些带有身份验证/ssl/等的设置,那就太好了。

它不需要面面俱到,但覆盖面越广越好。

目前我所做的就是验证我可以在给定端口上打开到给定服务器的连接。更深入一点的东西会很好。

注意:我不是试图验证电子邮件地址——这与这个问题无关。

最佳答案

您只需打开到用户提供的服务器和端口的原始连接并执行

HELO Server.Domain.Com
Mail From: validaccount@domain.com

查看您是否收到有效的 HELO 响应和发件人 OK 响应 (如果启用了 smtp 身份验证)。

与直接通过 telnet 连接到服务器时所做的相同。

http://www.petri.co.il/test_smtp_service.htm

这也可能有用

http://qmail.jms1.net/test-auth.shtml

关于c# - 如何在不发送消息的情况下测试我的电子邮件设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/756448/

相关文章:

c# - 无效的跨线程访问问题

email - 如何解决使用 Grails 发送邮件时必须经过身份验证的 550 问题?

php - 如何在没有安装 SMTP 服务器的情况下从 PHP 发送电子邮件?

c# - 在 C# 3.0 中我们使用 "var"在 C# 2.0 中它的替代品是什么?

c# - 如何在执行相同功能时避免 C# 中的短路评估

c# - 如何将 MailMessage 对象作为 *.eml 或 *.msg 文件保存到磁盘

php - text-rotate 属性在 PHP 的电子邮件正文中不起作用

c# - 从非托管 c++ 调用托管 c# 函数

ASP.Net 检查用户是内部用户还是外部用户

c# - 强制所有 ASP.NET 缓存过期