通过asp.net发送电子邮件代码。无法解决错误

时间:2013-11-15 06:55:42

标签: asp.net smtp smtpclient

我正在使用此代码从iis服务器部署的应用程序发送来自gmail的电子邮件。 我一直收到无法连接到远程服务器的消息。

请帮助解决这个问题 -

    protected void SendMail()
    {
        MailMessage msg = new MailMessage();
        System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
        try
        {
            msg.Subject = "download complete";
            msg.Body = "download is completed";
            msg.From = new MailAddress("xxx@gmail.com");
            msg.To.Add("yyy@gmail.com");
            msg.IsBodyHtml = true;
            client.Host = "smtp.gmail.com";
            System.Net.NetworkCredential basicauthenticationinfo = new System.Net.NetworkCredential("xxx@gmail.com", "xxx");
            client.Port = int.Parse("587");
            client.EnableSsl = true;
            client.UseDefaultCredentials = false;
            client.Credentials = basicauthenticationinfo;
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.Send(msg);
        }
        catch (Exception ex)
        {
            TextBox1.Text = ex.Message;
        }
    }

1 个答案:

答案 0 :(得分:0)

首先,您应该能够telnet该端口的hostname(smtp.gmail.com)(587)。 如果您能够这样做,那么您可以从您的应用程序发送邮件。

启动命令提示符并检查上面的命令

telnet smtp.gmail.com 587

如果您收到此类错误Connecting To smtp.gmail.com...Could not open connection to the host, on port 58 7: Connect failed

这意味着您无法连接到主机服务器。因此,您无法使用该smtp发送邮件。