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!";
    }

私は初心者ですので、string5何かありstring6ますか?

また、何が問題なのですか?このフォームを機能させる方法は?

4

3 に答える 3

2

string5とstring6は、メールサーバー上の電子メールクレデンシャル(ユーザー名とパスワード)です。あなたはそれを私たちによく知っているべきです;-)

于 2012-08-06T15:44:23.470 に答える
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 に答える
1

メールサーバーの名前/ドメイン情報でsmtpClinet.Hostを更新する必要があります。資格情報は、メールサーバーにアクセスできるユーザーのユーザー名とパスワードで更新する必要があります。場合によっては、これを省略できます。

于 2012-08-06T15:43:52.577 に答える