检查电子邮件凭据是否存在
本文关键字:是否 存在 电子邮件 检查 | 更新日期: 2023-09-27 18:03:30
有十几个问题问smtp服务器工作像测试smtp服务器是通过c#运行,我可以测试SmtpClient之前调用client.Send()?它们通过向SMTP服务器发送命令来完成检查工作。他们从不将任何凭证用于测试目的。所以我想知道有没有一种方法可以检查这些登录名和密码在这个smtp服务器上有效而不发送邮件?
当我在这个问题上工作时,我最关心的是找到一个解决方案,我不必发送电子邮件来检查凭据是否有效。因此,在尝试了网上提供的一堆解决方案之后,我想出了我自己可以接受的测试电子邮件凭据:
我使用MailKit来帮助我。
public static bool ValidateCredentials(string username, string password, string server, int port, bool certificationValidation)
{
try
{
using (var client = new MailKit.Net.Smtp.SmtpClient())
{
try
{
client.ServerCertificateValidationCallback = (s, c, h, e) => certificationValidation;
client.Connect(server, port, false);
client.Authenticate(username, password);
client.Disconnect(true);
return true;
}
catch (Exception ex)
{
Console.WriteLine(string.Format("ValidateCredentials Exception: {0}", ex.Message));
}
}
}
catch (System.Exception ex)
{
Console.WriteLine(string.Format("ValidateCredentials Exception: {0}", ex.Message));
}
return false;
}
SMTP不允许在不发送电子邮件的情况下登录。
请看下面的内容:
在发送邮件之前如何验证smtp凭据?