使用 C# 发送电子邮件不起作用
本文关键字:电子邮件 不起作用 使用 | 更新日期: 2023-09-27 18:32:13
我正在编写一个可以用C#发送消息的Windows表单。
我曾经有过这个工作并发送消息,但现在我的程序在发送消息时会挂起。
以下是发送消息的代码:
private void sendEmail()
{
string host = "";
int port = 0;
host = checkFromAddress(ref port);
try
{
// Create the email to send
System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add(recipient1.Text);
message.Subject = "subject";
message.From = new System.Net.Mail.MailAddress(userName.Text);
message.Body = "Test Messge";
// Setup smtp information related to the host used
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
smtp.Host = host;
smtp.Port = port;
smtp.EnableSsl = true;
smtp.Credentials = new System.Net.NetworkCredential(userName.Text, password.Text);
// Send the message
smtp.Send(message);
}
catch (Exception)
{
MessageBox.Show("Please check email settings and try again");
}
}
用户名和密码输入到表单中,主机和端口根据用户的凭据确定。
我调试程序,当它到达smtp时。发送(消息),它只是挂起,我无法调出表格。我必须停止调试或终止进程。
知道为什么它不起作用吗?
您是否验证了传入的所有值是否有效? 可能要检查的内容是主机/端口。 另外,"发件人"和"收件人"是否获得有效的电子邮件地址? 这些看起来有点可疑。