0

我的表格有问题,我无法发送。如果我输入了错误的详细信息(安全代码、电子邮件、空白字段等),我会在屏幕上看到错误,这是正确的。

但是当我输入所有正确的数据时,我无法发送表单,我收到此错误:

提交您的表单时出错。请检查以下内容:

但是列表是空的。

    SmtpClient smtpClient = new SmtpClient();
    MailMessage message = new MailMessage();
    try
    {
        MailAddress fromAddress = new MailAddress("noreply@domain.com", "string1");
        // decide who message goes to
        string emailGoesTo = "person1@domain.com";

        MailAddress toAddress = new MailAddress(emailGoesTo.ToString(), "string1");

        message.From = fromAddress;
        message.To.Add(toAddress);
        message.To.Add("person2@domain.com");
        message.Subject = "string2";
        message.Body = "New Website Contact Request";
        message.Body += "------------------------------------------\r\n";
        message.Body += "Name: " + your_name.Text + "\r\n";
        message.Body += "Email: " + your_email.Text + "\r\n";
        message.Body += "Telephone: " + your_telephone.Text + "\r\n";
        message.Body += "Company: " + your_company.Text + "\r\n";
        message.Body += "Address: " + your_address.Text + "\r\n";
        message.Body += "Postcode: " + your_zip.Text + "\r\n";
        message.Body += "Enquiry: " + your_enquiry.Text + "\r\n";

        // smtpClient.Host = "string3";
        smtpClient.Host = "string4";
        smtpClient.Credentials = new System.Net.NetworkCredential("string5", "string6");
        smtpClient.Send(message);
        Response.Redirect("thankyou.aspx");
    }
    catch (Exception ex)
    {
        statusLabel.Text = "Coudn't send the message!";
    }

我是noobie,请问有string5没有string6

还有什么问题?如何使这种形式工作?

4

3 回答 3

2

从未尝试过使用 smtpclient.host 但下面的作品。只需添加邮件服务器的 IP/主机名,并确保将其设置为允许从调用代码的机器中继。并用您想要的文本替换字符串。我建议从简单的事情开始,而不是从表单字段中输入以消除任何外部问题。一旦邮件发送,然后开始添加额外的部分。

    public static string mailServer = 'IP address or host name of mail server'
    public static void Send()
    {
        string subject = "test subject";
        string address =  "test@somedomain.com";
        string body = "some mail body";
        MailMessage mm = new MailMessage();
        mm.From = new MailAddress("no-reply@domain.net"); //on behalf of
        mm.To.Add(new MailAddress(address));


        mm.IsBodyHtml = true;
        mm.Subject = subject;
        mm.Body = body;
        SmtpClient server = new SmtpClient(mailServer);
        server.Send(mm);
    }
}
于 2012-08-06T15:42:53.467 回答
2

string5 和 string6 是邮件服务器上的电子邮件凭据(用户名和密码)。你应该更了解我们 ;-)

于 2012-08-06T15:44:23.470 回答
1

您需要使用您的邮件服务器的名称/域信息更新您的 smtpClinet.Host。凭据需要使用可以访问您的邮件服务器的用户的用户名和密码进行更新。有时可以忽略这一点。

于 2012-08-06T15:43:52.577 回答