localhost不会连接到邮件服务器

时间:2011-06-04 14:30:59

标签: c# email smtp localhost mail-server

public bool send()
{
    try
    {
        string body = _omschrijving;
        var fromAddress = new MailAddress("info@mydomain.com", "userfrom");
        var toAddress = new MailAddress("randomemail@gmail.com", "userto");

        const string subject = "mailmessage";

        var smtp = new SmtpClient
        {
            Host = an IP address provided by the webhosting company,
              UseDefaultCredentials = false,
              DeliveryMethod = SmtpDeliveryMethod.Network,
              Credentials = new NetworkCredential("info@mydomain.com", "password")
        };

        using (var message = new MailMessage(fromAddress, toAddress)
        {
            Subject = subject,
            IsBodyHtml = true,
            Body = "naam: " + _naam + "<br />mail: " + _email + "<br />content: " + body
        })
        {
            smtp.Send(message);
        }

        return true;
    }
    catch
    {
        return false;
    }
}

这是我用来在我的网站上以简单形式发送邮件的代码。 _omschrijving,_email,_naam是该方法所在类的字段。为了安全起见,我还更改了密码等信息。 我尝试从我的localhost使用它,但它失败了。它无法连接到服务器。

我尝试将我的项目发布到网络服务器(邮件服务器也位于其中)并且它运行良好。

我很高兴它有效,但我想知道为什么在localhost上调试时它不能连接到邮件服务器? 任何人都可以解释这种行为吗?

3 个答案:

答案 0 :(得分:1)

是的,您的主机配置他的邮件服务器只接受来自他自己的网络服务器的连接,这也是数据库服务器的常见做法

答案 1 :(得分:1)

也许托管公司仅将其SMTP服务器的连接限制为托管计算机?如果是这样,您的本地机器的请求将被拒绝。

答案 2 :(得分:0)

我尝试使用outlook连接到我的新邮件服务器,我发现了问题所在。我的ISP不允许其用户使用第三方邮件服务器发送外发邮件。解决方案是使用我的ISP的外发SMTP服务器。并不重要的是生产中的表格,因为它托管在其他地方。