如何使用C#为桌面应用程序创建电子邮件身份验证表单?

时间:2014-03-12 03:48:49

标签: c# windows smtp gmail smtpclient

我正在尝试制作一个向用户提供Gmail用户名和密码的Windows应用程序,如果它有效,那么任何人都可以提供帮助吗? 这是我目前的代码: 我不知道在if()语句中输入什么来检查用户名和密码是否有效

   private void logIn_Click(object sender, EventArgs e){

        string user, pass;
        user = userName.Text;
        pass = password.Text;
        var smtp = new SmtpClient
        {
            Host = "smtp.gmail.com",
            Port = 587,
            EnableSsl = true,
            DeliveryMethod = SmtpDeliveryMethod.Network,
            UseDefaultCredentials = false,
            Credentials = new NetworkCredential(userName.Text,password.Text)

        };
        if (//userName and password is a valid gmail account)
      {
            Options compose = new Options();
            Visible = false;
            compose.Show();
        }
        else {
            warning.Text = "Wrong Username or Password";
        }

1 个答案:

答案 0 :(得分:1)

在您拨打SMTP服务器之前,您不知道所提供的凭据是否正确(当然,您可以随时对电子邮件地址进行基本验证)。

让我们说用户完成输入消息并尝试发送消息。您在调用SmtpClient.Send时知道凭据是错误的,并且您获得了SmtpException(请务必阅读我链接到的文档,因为相同的异常可能意味着其他问题出现了)。

你最好的选择是在try / catch中对SMTP服务器执行该操作并捕获SmtpException并对其执行一些有用的操作。