我正在尝试制作一个向用户提供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";
}
答案 0 :(得分:1)
在您拨打SMTP服务器之前,您不知道所提供的凭据是否正确(当然,您可以随时对电子邮件地址进行基本验证)。
让我们说用户完成输入消息并尝试发送消息。您在调用SmtpClient.Send时知道凭据是错误的,并且您获得了SmtpException
(请务必阅读我链接到的文档,因为相同的异常可能意味着其他问题出现了)。
你最好的选择是在try / catch中对SMTP服务器执行该操作并捕获SmtpException
并对其执行一些有用的操作。