操作已超时。使用C#ASP.net通过smtp发送电子邮件

时间:2018-01-20 02:05:01

标签: c# asp.net

我收到错误“操作超时”,当我通过我的smtp服务器发送电子邮件时它会引发异常。我正在使用gmail smtp的代码并且相同的代码工作正常。在smtp详细信息我正在使用网络凭证作为我在我的域和外发服务器和smtp端口上创建我的电子邮件帐户时获得的用户名和密码。以下是我的代码..

protected void send_Click(object sender, EventArgs e)
        {
            string to = "xyz@gmail.com"; //To address    
            string from = "xyz@gmail.com"; //From address    
            MailMessage message = new MailMessage(from, to);
            string mailbody = "Welcome to gmail...";
            message.Subject = "Sending Email";
            message.Body = mailbody;
            message.IsBodyHtml = true;
            SmtpClient client = new SmtpClient("server host",port);     
            System.Net.NetworkCredential basicCredential1 = new
            System.Net.NetworkCredential("Username ","Password");
            client.EnableSsl = true;
            //client.Timeout = 10000;
            client.UseDefaultCredentials =false;
            client.Credentials = basicCredential1;
            try
            {
                client.Send(message);
            }

        catch (Exception ex)
        {
            throw ex;
        }  

    }

1 个答案:

答案 0 :(得分:0)

因为你还没有发布任何日志数据,你已经尝试过的东西,什么不起作用,并且只给我们超时作为结果,你的问题有很多开放式问题。因此,我所能做的只是向您提供模糊的指示,而不是具体的答案,以解决您的问题。

这类事情可能存在很多问题。 如果我理解正确的话,您是否认为此代码可以与其他服务器正确执行?

我会检查:

A,我100%确定我的服务器连接字符串是否正确?也是端口明智的?

B,我确定端口是否打开以进行此通信?(检查防火墙是否已打开)

C,我是不是gmail smtp和你本地的smtp之间没有某种版本或配置?

D,如果您甚至收到请求,请检查SMTP服务器日志。

D1,如果您正在接收,请检查导致时间的错误,这可能会在日志中。

D2,从A开始,您与SMTP服务器的连接有问题。