Avatar billede peanut2000 Nybegynder
25. juli 2004 - 11:53 Der er 37 kommentarer og
1 løsning

Validerings problemer på web10´s server

Hej jeg har lavet en emailformular, hvor jeg har lavet noget validering på email-feltet (skal indtastes, og tjekker om rigtigt format). Det virker fint når jeg køre det på min computer men på web10´s server virker det ikke, jeg får følgende fejlmeddellelse:

The server rejected the sender address. The server response was: 553 5.5.4 <gfg>... Domain name required for sender address gfg
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.COMException: The server rejected the sender address. The server response was: 553 5.5.4 <gfg>... Domain name required for sender address gfg

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Måske nogen kan hjælpe??
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 11:54 #1
gfg er det jeg har indtastet i email-feltet, for at fremtvinge valideringen, som åbenbart ikke virker
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 11:56 #2
Jeg får følgende fejlmeddelelse, når jeg ikke indtaster noget i email-feltet:

At least one of the From or Sender fields is required, and neither was found.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.COMException: At least one of the From or Sender fields is required, and neither was found.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Avatar billede guidmaster Nybegynder
25. juli 2004 - 11:58 #3
Hvordan ser koden ud som sender mailen? Det er nemlig der det går galt.
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 12:08 #4
Som du kan se af koden, så har jeg lavet valideringen i designdelen i visual studio net, her er koden:

Imports System.Web.Mail


Public Class Kontakt
    Inherits System.Web.UI.Page
    Protected WithEvents cboOmraade As System.Web.UI.WebControls.DropDownList
    Protected WithEvents txtNavn As System.Web.UI.WebControls.TextBox
    Protected WithEvents txtFirmanavn As System.Web.UI.WebControls.TextBox
    Protected WithEvents txtEmail As System.Web.UI.WebControls.TextBox
    Protected WithEvents txtTlf As System.Web.UI.WebControls.TextBox
    Protected WithEvents txtBesked As System.Web.UI.WebControls.TextBox
    Protected WithEvents cmdSend As System.Web.UI.WebControls.Button
    Protected WithEvents RegularExpressionValidator1 As System.Web.UI.WebControls.RegularExpressionValidator
    Protected WithEvents RequiredFieldValidator1 As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents cmdNulstil As System.Web.UI.WebControls.Button

#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

   

    Private Sub cmdSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSend.Click
        SmtpMail.SmtpServer = "smtpserver.get2net.dk"
        SmtpMail.Send(txtEmail.Text, "janl@tele2adsl.dk", "Spg. ang. " + cboOmraade.SelectedItem.Value, "Evt. firmanavn: " + txtFirmanavn.Text + vbLf + "Navn: " + txtNavn.Text + vbLf + "Tlf: " + txtTlf.Text + vbLf + vbLf + "Besked: " + vbLf + txtBesked.Text)
        Response.Redirect("Tak.htm")
    End Sub

    Private Sub cmdNulstil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNulstil.Click
        cboOmraade.SelectedIndex = 0
        txtNavn.Text = ""
        txtFirmanavn.Text = ""
        txtEmail.Text = ""
        txtTlf.Text = ""
        txtBesked.Text = ""

    End Sub
End Class
Avatar billede guidmaster Nybegynder
25. juli 2004 - 12:11 #5
Du skal ikke bruge den smtp server, men istedet den som dit webhotel har.
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 12:56 #6
nej det ved jeg godt, men det virker fint, bare ikke når jeg taster forkert, den skulle jo gerne vise en besked med at email-adressen mangler eller at email-adressen er af forkert format, men det sker ikke.
Avatar billede guidmaster Nybegynder
25. juli 2004 - 13:09 #7
OK - jeg har tidligere her på exp set at andre har haft problemer med at aspnet_client biblioteket på web10.
Iøvrigt vil det være enm god idé at lave et If Page.IsValid() tjek inden du sender mailen afsted
Avatar billede snepnet Nybegynder
25. juli 2004 - 13:31 #8
Hvordan ser det regular expression du bruger til emailadressen ud ?
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 13:38 #9
hvordan laver jeg en if Page.IsValid()???
Avatar billede guidmaster Nybegynder
25. juli 2004 - 13:40 #10
Private Sub cmdSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSend.Click
If Page.IsValid() then
        SmtpMail.SmtpServer = "smtpserver.get2net.dk"
        SmtpMail.Send(txtEmail.Text, "janl@tele2adsl.dk", "Spg. ang. " + cboOmraade.SelectedItem.Value, "Evt. firmanavn: " + txtFirmanavn.Text + vbLf + "Navn: " + txtNavn.Text + vbLf + "Tlf: " + txtTlf.Text + vbLf + vbLf + "Besked: " + vbLf + txtBesked.Text)
        Response.Redirect("Tak.htm")
Else
  response.write("Noget gik galt")
End if
    End Sub
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 13:41 #11
Jeg bruger visual studios lavede valideringer i design, den ser vist ud som følgende: \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 13:53 #12
det hjalp ikke, den skriver de samme fejlmeddelelser som før den skriver ikke "noget gik galt"
Avatar billede snepnet Nybegynder
25. juli 2004 - 14:30 #13
prøv at skrive Page.Validate() inden du spørger på IsValid.
Avatar billede basementjack Nybegynder
25. juli 2004 - 15:05 #14
peanut2000 - Du kunne jo bare lave det clientside istedet for serverside.. Hvis det er en løsning du kan godtage.. ;)
Avatar billede snepnet Nybegynder
25. juli 2004 - 15:11 #15
Det er bl.a. det som valideringskontrollerne giver mulighed for. Man skal slå client-side validering fra, hvis man ikke vil have det.
Avatar billede basementjack Nybegynder
25. juli 2004 - 15:13 #16
Jeps.. Men det er lettere at sætte op clientside.. Hvis man kan leve med det.. Jeg har bøvlet en del med det, men foretrækker også serverside. Ihvert fald nu hvor jeg ved hvordan det gøres..
Avatar billede snepnet Nybegynder
25. juli 2004 - 15:44 #17
Jeg tror vi snakker forbi hinanden :o) - hvad mener du med at det er lettere at
sætte op client-side - og at du nu gør det server-side ?
Avatar billede snepnet Nybegynder
25. juli 2004 - 15:45 #18
Når der bruges en RequiredFieldValidator (for eksemplets skyld) vil resultatet være følgende.

Når brugeren forsøger at fremkalde et postback (f.eks. ved at trykke på en knap), vil der - med mindre du specifikt har angivet på den aktuelle knap, at den ikke skal medføre validering, eller browseren ikke understøtter det - blive kørt en client-side validering.

Hvis valideringen går godt, og resultatet er positivt, vil der ske et postback - ellers ikke.

På serversiden vil valideringen altid blive udført (med mindre du har disabled din validator), og validatoren vil efter et postback optræde med den angivne fejltekst, hvis der ikke har været en indtastning i det tekstfelt (eller hvad det nu er) som validatoren er angivet til at validere.

Det der kræves for at det kan fungere client-siden er, at de nødvendige scripts, der ved en standard opsætning vil være placeret i kataloget aspnet_client, i IIS-ens rodbibliotek.

Hvis du laver sådan en form her på en aspx-side:

        <form id="Form1" method="post" runat="server">
            <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="RequiredFieldValidator"
                ControlToValidate="TextBox1" EnableClientScript="False"></asp:RequiredFieldValidator><BR>
            <asp:Button id="Button1" runat="server" Text="Button" Width="152px"></asp:Button>
        </form>

Og har disse erklæringer i din code-behind:

        protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
        protected System.Web.UI.WebControls.TextBox TextBox1;
        protected System.Web.UI.WebControls.Button Button1;

Skal der ikke gøres andet for at det virker, og hvis du angiver EnableClientScript=True vil det virke både client-side og server-side.

Men... hvis web10 f.eks. har de forkerte scripts liggende, eller har en underlig opsætning af deres IIS, kan der selvfølgelig gå kage i det.

Mvh
Avatar billede peanut2000 Nybegynder
25. juli 2004 - 23:44 #19
snepnet som du kan se af koden har jeg de der protected.... og jeg har sat dem til EnableClientScript=True og jeg har også lagt mappen aspnet_client ud på min server, men det giver stadig de fejlmeddelelser jeg har skrevet for oven. Med hensyn til om valideringerne skal køre på client eller serversiden, så blev jeg lidt forviret af det i har skrevet ovenstående
Avatar billede snepnet Nybegynder
26. juli 2004 - 00:11 #20
Gider du poste den præcise fejlmeddelelse, som den ser ud når du trykker på knappen nu, også skrive din kode som den ser ud lige pt... Altså den handler hvor de sender mailen.

Byg eventuelt mailen op med en MailMessage istedet... Så bliver det lidt mere overskueligt - sådan her :

MailMessage msg = new MailMessage();
msg.From = ... ;
msg.To = = ... ;

og så til sidste SmtpMail.Send(msg);
Avatar billede snepnet Nybegynder
26. juli 2004 - 00:12 #21
Hov.... MailMessage msg = new MailMessage(); går jo nok ikke på VB's, men den kan du nok selv oversætte :o)

Hvad er det du bliver forvirret af i denne her :
http://www.eksperten.dk/spm/522972#rid4797821

Bare sig til... Jeg skal nok prøve at gøre det mere klart så.
Avatar billede peanut2000 Nybegynder
26. juli 2004 - 17:02 #22
Koden ser stadig ud som der står beskrevet ovenfor, men du kan jo evt. selv prøve min mailformular: http://www.zaz.dk/kontakt.aspx så kan du jo se de fejlmeddelelser den kommer med når man ikke taster noget i email-feltet eller taster en forkert emailadresseformat.
Avatar billede basementjack Nybegynder
26. juli 2004 - 17:09 #23
Det jeg mente med clientside kan ses i eksemplet forneden :

---- File.aspx ----
<%@ Page Language="VB" %>
<script runat="server">

    ' Insert page code here
    '

</script>
<html>
<head>
</head>
<body>
    <form runat="server">
        <p>
            <asp:TextBox id="Feltet" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="Felt er ikke udfyldt" ControlToValidate="Feltet"></asp:RequiredFieldValidator>
        </p>
        <p>
            <asp:Button id="PostBack" runat="server" Text="PostBack"></asp:Button>
            <!-- Insert content here -->
        </p>
    </form>
</body>
</html>
Avatar billede peanut2000 Nybegynder
26. juli 2004 - 18:27 #24
Det ligner da mit en del, jeg går ud fra at det er det jeg også har gjort, men det virker ikke, og jeg kan forstå at der er andre der har fået det til at virke på web10
Avatar billede snepnet Nybegynder
26. juli 2004 - 21:40 #25
har du prøvet at lægge det direktory du har liggende i inetpub/wwwroot der hedder aspnet_client ud på serveren ? du skal bare lægge det i roden af dit webdir.
Jeg tror ikke filerne kan findes, hvilet scripet ikke fejl på, hvilket det gør hos mig.
Avatar billede snepnet Nybegynder
26. juli 2004 - 22:01 #26
basementjack>>

At du angiver noget i din aspx-fil har ikke noget at gøre med hvorvidt det eksekverer client-side eller serverside, og i det du har skrevet er det tværtimod direkte angivet at det skal køre på serveren ved runat="server".

Resultatet af at du skriver det i din aspx-kode er det samme som hvis du havde indsat det programmatisk ved at skrive det i din code-behind som f.eks.

TextBox tb = new TextBox();
RequiredFieldValidator rfv = new RequiredFieldValidator();
rfv.ErrorMessage = "Felt er ikke udfyldt";

Form1.Controls.Add(tb);
Form1.Controls.Add(rfv);

rfv.ControlToValidate = tb.UniqueID;
Avatar billede peanut2000 Nybegynder
27. juli 2004 - 13:53 #27
ja jeg har lagt mappen aspnet_client ud på serveren, men det har ikke løst problemet
Avatar billede guidmaster Nybegynder
27. juli 2004 - 14:07 #28
Det ser altså ikke ud til at /aspnet_client/system_web/1_1_4322/WebUIValidation.js ligger der (da jeg ikke kan downloade den)
Avatar billede snepnet Nybegynder
27. juli 2004 - 14:08 #29
Det ser ikke ud til at der ligger det der skal... Der henvises i den html der bliver genereret til

/aspnet_client/system_web/1_1_4322/WebUIValidation.js

Hvilket skulle give dig den fulde sti

http://www.zaz.dk/aspnet_client/system_web/1_1_4322/WebUIValidation.js

Men hvis du prøver at åbne den i browseren (vil normalt medføre at du får mulighed for at åbne den, eller gemme den), kommer der bare en fejl om at den ikke findes.

Kan du ikke lige checke dit web, om filerne ligger sådan, eller om der er et eller andet der er smuttet i den forbindelse.
Avatar billede snepnet Nybegynder
27. juli 2004 - 14:09 #30
Haha... det var vi jo rimelig enige om :o)
Nå - men du må jo lige støve dit web igennem, og se om det hele er kommet med.
Avatar billede peanut2000 Nybegynder
29. juli 2004 - 10:14 #31
den sidste mappe med scriptfilerne hedder 1_0_3705_0 & 1_0_3705_288 hos mig, jeg ved ikke om det har noget at sige???

Hvor kan du se at der henvises til: /aspnet_client/system_web/1_1_4322/WebUIValidation.js for så skal det vel bare rettes, da stien så ikke passer helt???
Avatar billede peanut2000 Nybegynder
29. juli 2004 - 10:17 #32
det her virker http://www.zaz.dk/aspnet_client/system_web/1_0_3705_0/WebUIValidation.js og http://www.zaz.dk/aspnet_client/system_web/1_0_3705_288/WebUIValidation.js så kan den hentes så den ligger der, men er det så henvisningen til stien der er noget galt med eller hvad.

Skal der rettes i koden og hvor eller skal jeg ændre stien til scriptfilerne???
Avatar billede peanut2000 Nybegynder
29. juli 2004 - 10:27 #33
Jeg ændrede stien til mappen til http://www.zaz.dk/aspnet_client/system_web/1_1_4322/WebUIValidation.js altså 1_1_4322 så nu virker det som det skal. Tak skal i have begge 2, i har været meget tålmodige, smid et svar og i får point.

Hvis i har forstand på at åbne porte på en router så kig lige på mit nye spg: http://www.eksperten.dk/spm/524350
Avatar billede snepnet Nybegynder
29. juli 2004 - 10:30 #34
Det lader til at du kører med en ældre version af frameworket end de gør... Du burde nok opdatere.
Avatar billede peanut2000 Nybegynder
29. juli 2004 - 11:21 #35
det har jeg godt nok lagt mærke til, når jeg køre windows update, så vil den ligge en dansk version ind af frameworket, jeg er bange for det vil give problemer, den jeg har nu er engelsk??
Avatar billede guidmaster Nybegynder
29. juli 2004 - 15:27 #36
Avatar billede peanut2000 Nybegynder
29. juli 2004 - 22:19 #37
ok
Avatar billede guidmaster Nybegynder
29. juli 2004 - 23:11 #38
Og som du kan læse så er der ingen problemer i af have begge versioner installeret på din maskine - faktisk så har jeg selv installeret 4 forskellige .NET frameworks på min maskine.....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester