mackanzMedlem sedan sep. 2003443 inlägg Jag har ett litet problem med cdonts.
Här nedan är ett exempel från https://www.asp-sidan.nu
<%
' kolla om vi ska skicka iväg ett e-mail
If Len(Request.Form("email")) > 0 AND Len(Request.Form("subject")) > 0 AND Len(Request.Form("message")) > 0 Then
Set newMail = CreateObject("CDONTS.NewMail")
newMail.From = Request.Form("email")
newMail.To = "mikael@edebro.net"
newMail.Subject = Request.Form("subject")
newMail.Body = Request.Form("message")
newMail.Send
Set newMail = Nothing
End If
%>
Nu hör det till saken att jag har fler fält. Bland annat:
* Företag
* telefonnummer
* Fax
* hemsida
* Adress
* ort
hur skriver jag för att få med mig detta???
PalleMedlem sedan apr. 20003 174 inlägg En variant..
[red]<%
' kolla om vi ska skicka iväg ett e-mail
If Len(Request.Form("email")) > 0 AND Len(Request.Form("subject")) > 0 AND Len(Request.Form("message")) > 0 Then
[b]strBody[/b] = "Lite text här då.."[blue]&[/blue] vbcrlf &_
"Företag: "& trim(Request.Form("foretag")) & vbcrlf &_
"Telefon: "& trim(Request.Form("telefon")) & vbcrlf &_
"o.s.v.."
Set newMail = CreateObject("CDONTS.NewMail")
newMail.From = Request.Form("email")
newMail.To = "mikael@edebro.net"
newMail.Subject = Request.Form("subject")
newMail.Body = [b]strBody[/b]
newMail.Send
Set newMail = Nothing
End If
%> [/red]
Redigerat: Missade ett &-tecken..
mackanzMedlem sedan sep. 2003443 inlägg Hejsan Palle!
Det fungerade ej.
Min kod ser ut så här:
<%
' kolla om vi ska skicka iväg ett e-mail
If Len(Request.Form("email")) > 0 AND Len(Request.Form("subject")) > 0 AND Len(Request.Form("message")) > 0 Then
Set newMail = CreateObject("CDONTS.NewMail")
strBody = "Lite text här då.." vbcrlf &_
"Företag: "& trim(Request.Form("FORETAG")) & vbcrlf &_
"Adress: "& trim(Request.Form("ADRESS")) & vbcrlf &_
"Stad: "& trim(Request.Form("CITY")) & vbcrlf &_
"Telefon: "& trim(Request.Form("PHONE")) & vbcrlf &_
"Fax: "& trim(Request.Form("FAX")) & vbcrlf &_
"Hemsida: "& trim(Request.Form("HOMEPAGE")) & vbcrlf &_
newMail.From = Request.Form("EMAIL")
newMail.To = "markus.redman@enterab.com"
newMail.Subject = Request.Form("SUBJECT")
newMail.Body = Request.Form("MESSAGE")
newMail.Send
Set newMail = Nothing
End If
%>
<%
'Response.Redirect("kontaktok.htm")
%>
och då fick jag följande felmeddelande:
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/kontaktsend.asp, line 15
strBody = "Lite text här då.." vbcrlf &_
-------------------------------^
@ndersMedlem sedan juni 200032 969 inlägg Du skall ha ett &-tecken före vbCrLf.
mackanzMedlem sedan sep. 2003443 inlägg Okej!
När jag lade till det & tecknet och testade kom jag baar till en vit sidan. Innebär det att fungerar??
Jag får ju inget mail i min inbox.
Om jag lägger till en response.redirect som då leder till en bekräftelse sida får jag ett nytt felmeddelande:
Header Error
/kontaktsend.asp, line 35
The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.Response object error 'ASP 0156 : 80004005'
@ndersMedlem sedan juni 200032 969 inlägg
mackanz skrev:
Okej!
När jag lade till det & tecknet och testade kom jag baar till en vit sidan. Innebär det att fungerar??
Nej, det beror ju på om/hur SMTP-tjänsten på maskinen är konfigurerad, samt om man angett en giltig avsändaradress.
Om jag lägger till en response.redirect som då leder till en bekräftelse sida får jag ett nytt felmeddelande:
Header Error
/kontaktsend.asp, line 35
The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.Response object error 'ASP 0156 : 80004005'
Sätt följande högst upp i ditt asp-dokument:
Response.buffer = true
Mvh
PalleMedlem sedan apr. 20003 174 inlägg Denna då?
[red]<%
Response.Buffer = True
' kolla om vi ska skicka iväg ett e-mail
If Len(Request.Form("email")) > 0 AND Len(Request.Form("subject")) > 0 AND Len(Request.Form("message")) > 0 Then
strBody = "Lite text här då.."& vbcrlf &_
"Företag: "& trim(Request.Form("FORETAG")) & vbcrlf &_
"Adress: "& trim(Request.Form("ADRESS")) & vbcrlf &_
"Stad: "& trim(Request.Form("CITY")) & vbcrlf &_
"Telefon: "& trim(Request.Form("PHONE")) & vbcrlf &_
"Fax: "& trim(Request.Form("FAX")) & vbcrlf &_
"Hemsida: "& trim(Request.Form("HOMEPAGE")) & vbcrlf & vbcrlf &_
"Meddelande: "& trim(Request.Form("MESSAGE"))
Set newMail = CreateObject("CDONTS.NewMail")
newMail.From = trim(Request.Form("EMAIL"))
newMail.To = "markus.redman@enterab.com"
newMail.Subject = Request.Form("SUBJECT")
newMail.Body = strBody
newMail.Send
Set newMail = Nothing
Response.Redirect "kontaktok.htm"
Else
Response.Write "Nått är fel, mailet kunde inte skickas.."
End If
%>[/red]
mackanzMedlem sedan sep. 2003443 inlägg Samma felmeddelande fortfarande!
Tar jag bort
<%
Response.Redirect("kontaktok.htm")
%>
så kommer jag bara till en vit blank sida.
Jag får inga mail på det jag sänt in =(
Jag kör allt på en webbserver där jag laddar upp filerna.
Adress till sidan: http://www.ifkolme.org/kontaktform.asp
mackanzMedlem sedan sep. 2003443 inlägg Nu fick jag plötsligt detta felmeddelande: Jag är usel på att felmeddelanden. =)
Microsoft VBScript compilation error '800a03f9'
Expected 'Then'
/kontaktsend.asp, line 17
If Len(Request.Form("email")) > 0 AND Len(Request.Form("subject")) > 0 AND Len(Request.Form("message")) > 0 Then
---------------------------------^
PalleMedlem sedan apr. 20003 174 inlägg ..fungerade inte mitt senaste kod-förslag?
Det verkar som om du inte ändrat till den..
mackanzMedlem sedan sep. 2003443 inlägg Palle:
Koden du skrev 10.54 fungerade ej. Fick följande felmeddelande:
<%
Response object error 'ASP 0156 : 80004005'
Header Error
/kontaktsend.asp, line 16
The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.
mackanzMedlem sedan sep. 2003443 inlägg Palle:
När jag tog bort Response.Buffer = True
kom följande text fram som finns med i koden:
<% Nått är fel, mailet kunde inte skickas.
mackanzMedlem sedan sep. 2003443 inlägg med följande kod får jag meddelandet att Något är fel, mailet kunde inte skickas.
<%
' kolla om vi ska skicka iväg ett e-mail
If Len(Request.Form("EMAIL")) > 0 AND Len(Request.Form("SUBJECT")) > 0 AND Len(Request.Form("MESSAGE")) > 0 Then
strBody = "Lite text här då.."& vbcrlf &_
"Företag: "& trim(Request.Form("FORETAG")) & vbcrlf &_
"Adress: "& trim(Request.Form("ADRESS")) & vbcrlf &_
"Stad: "& trim(Request.Form("CITY")) & vbcrlf &_
"Telefon: "& trim(Request.Form("PHONE")) & vbcrlf &_
"Fax: "& trim(Request.Form("FAX")) & vbcrlf &_
"Hemsida: "& trim(Request.Form("HOMEPAGE")) & vbcrlf & vbcrlf &_
"Meddelande: "& trim(Request.Form("MESSAGE"))
Set newMail = CreateObject("CDONTS.NewMail")
newMail.From = trim(Request.Form("EMAIL"))
newMail.To = "markus.redman@enterab.com"
newMail.Subject = Request.Form("SUBJECT")
newMail.Body = strBody
newMail.Send
Set newMail = Nothing
Response.Redirect "kontaktok.htm"
Else
Response.Write "Något är fel, mailet kunde inte skickas.."
End If
%>
@ndersMedlem sedan juni 200032 969 inlägg Är alla tre fälten du kontrollerar ifyllda då?
@ndersMedlem sedan juni 200032 969 inlägg Du har ju inte satt något namn på textarean, så om du använder fältnamnet MESSAGE för att hämta in datat, kommer det alltid vara en tom sträng och du hamnar i ELSE-delen av din if-sats.
mackanzMedlem sedan sep. 2003443 inlägg Stort tack till alla som hjälpte mig med detta problem.
Nu är allt löst.
Mvh.
Markus
ZaimanMedlem sedan dec. 20014 239 inlägg korta ned koden lite kanske?
sBody = ""
For Each field In Request.Form
sBody = sBody & field & ": " & Request.Form(field) & Chr(13) & Chr(10)
Next
Så här skapar jag min body i en del av mina mailsidor.
Lite mindre kod...
Tänk på att du får med alla form-objekt om du använder en For Each Field. Även skicka-knappen, osv. Använd en if-sats för att få bort den.