29. oktober 2003 - 14:24Der er
14 kommentarer og 1 løsning
html med ASPMail
Jeg har oprettet en asp-side, som sender vort nyhedsbrev til aktuelle abonnenter i min database. Desuden har jeg lavet en afsenderside, hvor jeg indtaster "subject" og "message-body" (HTML). Derefter trykker jeg på "send"-knappen og mailen skulle være sendt. Men, men, men... Kun hvis jeg sender en meget simpel html-mail fungerer det. Så snart det er html som indeholder en "form", sker der slet ingen ting når jeg klikker på "send"-knappen. Jeg har lagt seneste nyhedsbrev ind, hvor jeg har fjernet en gif-animation, et par knapper og en form. Men stadig sker der ingenting. Er der nogen som har en idé om, hvad det kan være der yderligere skal fjernes - eller endnu bedre, hvordan jeg får det til at virke, så det kan sende alle html-tekster, uanset hvor avancerede de er?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
' Send e-mail og skriv status if Mailer.SendMail then Response.Write "Mailen er afsendt..." else Response.Write "Der skete en fejl: " & Mailer.Response end if
Det lyder som noget i den retning. Det var i hvert fald hvad jeg fandt ud af, da jeg forsøgte med en meget simpel html-tekst, hvor der ikke var andet end lidt formateret tekst. Den gik fint igennem. Når jeg indsatte en form indeholdende en knap, kunne den ikke.
Findes der en anden og bedre måde at sende html-mails på? Jeg syntes at læse mig frem til, at der i AspMail er en funktion som hedder noget noget i retning af "GetBodyTextFromURL" eller sådan noget. Men den fungerer så vidt jeg har forstået kun sammen med PGPMail - hvilket jeg ikke kender noget til og opgav at sætte op. Men hvis du ved hvordan man får den funktion til at virke, tror jeg det ville kunne fungere. Eller hvad?
Det er rigtigt, at det er i forbindelse med QueryString at det går galt, når det bliver for kompliceret. Jeg udfylder det ved at submitte en form, ja. Det valgte jeg, fordi det ikke virkede at paste hele min html-kode direkte ind efter "Mailer.BodyText =" Det var som om den kun registrerede den første halve linie?
html-siden jeg taster fra ser således ud (og fungerer altså ved meget simpel html i MsgBody):
' Send e-mail og skriv status if Mailer.SendMail then Response.Write "Mailen er afsendt..." else Response.Write "Der skete en fejl: " & Mailer.Response end if
Hmmm, nu har jeg lagt det i samme fil, men får det ikke til at virke overhovedet - uanset html-indhold. Jeg opdagede at er ikke var noget filnavn i den nederst form action. Men det virker hverken med eller uden. Jeg har forsøgt at lægge den ud som afsend.asp og så taste både i den gamle "send mail.htm" side og direkte i "afsend.asp" side. Men der sker ingenting overhovedet. Når jeg trykker på send står der Udført nederst i Explorer-poceslinien, felterne bliver tomme, men der bliver intet sendt?
Tror du løsningen ligger i PGPMail? Det kender jeg slet ikke noget til.
Kan der ske at være noget galt med din første "if" sætning. I min WebWriters kodefarvning ser det ud som om den første sætning: "if request.form("subject")<" forstyrrer resten i kodningen i filen. Når jeg sletter if-sætningen øverst får jeg de oprindelige kodefarver tilbage, og kan sende mails - men de er blanke i både subject og body.
der skal ikke stå noget i den nederste når det ligger på samme side.... så submitter den baer sig selv.... og den øverset if-sætning afgør jo hvilket script der eksekveres....
jeg smutter men kigger lige forbi i aften.... så skal jeg nok lige finde ud af noget
jeg eksperimenterede lidt videre - det ser ud som om det er <> i if-sætningen, der ikke bliver forstået korrekt. Kan det skrives anderledes? f.eks. som Is Not eller lign? Sådan gør jeg i Access, men det er jo ikke lige det samme.... Som du forstår er jeg helt ny i asp. Jeg begyndte først at eksperimentere med det for en lille uge siden.
det virker som om den når at slette det igen som jeg taster ind, inden den sender noget, felterne bliver blanke og det er de sendte mails også. Desuden begynder den altid med at sende en tom mail, når jeg går ind på siden for at taste - så jeg kommer måske ikke uden om at skulle benytte 2 sider?
Jeg tog udfordringen op igen i denne uge - og nu virker det!! Løsningen er som oprindeligt tænkt med en side, hvor jeg indtaster Subject og MsgBody i hver sit felt og så trykker jeg på send. Det var ganske rigtigt Request.Form, der skulle bruges. Problemerne var desuden et par mindre trykfejl (som jeg ikke præcist husker mere) og så en kæmpebrøler ved at jeg glemte 'Methode=POST' i afsendelsesformularen. De to koder i de to filer ser således ud:
' Send e-mail og skriv status if Mailer.SendMail then Response.Write "Mailen er afsendt..." else Response.Write "Der skete en fejl: " & Mailer.Response end if
' Fjern objekt igen Set Mailer = Nothing %>
</BODY> </HTML>
Håber nogen kan have glæde af det. Vh Lars
Synes godt om
Ny brugerNybegynder
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.