1
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 是该方法所在类的字段。出于安全目的,我还更改了密码等信息。我尝试从本地主机使用它,但失败了。它无法连接到服务器。

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

我很高兴它可以工作,但我想知道为什么在本地主机上调试时它不会连接到邮件服务器?谁能解释这种行为?

4

3 回答 3

1

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

于 2011-06-04T14:34:39.697 回答
1

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

于 2011-06-04T14:36:35.170 回答
0

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

于 2011-06-05T13:28:39.153 回答