Avatar billede sneumann Novice
06. juli 2006 - 12:17 Der er 5 kommentarer og
1 løsning

Problemmer med formmail i ASP

Jeg håber nogen her kan hjælpe mig, med nedenstående script. Jeg har rettet flg. navn@domæne.dk websmtp.domæne.dk mailrelay.webhotel.dk så det passer til min udbyder.

Mit domæne er plaseret på en Windows server, som understøtter ASP og JMail, men når jeg kører ASP filen fra min hjemmeside, får jeg flg. meddelelse:

Server object error 'ASP 0177 : 800401f3'

Server.CreateObject Failed

/mail_sender.asp, line 34

Invalid ProgID. For additional information specific to this message please visit the Microsoft Online Support site located at: http://www.microsoft.com/contentredirect.asp.

Jeg håber nogen kan hjælpe mig, og rette i mit script så jeg kan kopiere det direkte ind i min ASP fil.

På forhånd tak.

<%@LANGUAGE="VBSCRIPT" %>
<% session.LCID = 1030 %>

<title>Husk at udfylde alle felterne</title>

<body>

<form id="kontakt" method="post" action="mail_sender.asp"
enctype="multipart/form-data">

<fieldset>
<legend>Husk at udfylde alle felterne</legend>

<label for="t1">Navn:</label>
<input id="t1" type="text" name="navn" /><br />

<label for="t2">Email:</label>
<input id="t2" type="text" name="mail" /><br />

<label for="t3">Emne:</label>
<input id="t3" type="text" name="emne" /><br />

<label for="t4">Besked:</label>
<textarea id="t4" name="besked" rows="10" cols="49"></textarea><br />
<label for="t5">&nbsp;</label>
<input id="t5" type="submit" value="Send" />
<input type="reset" value="Slet" />
</fieldset>

</form>

<%
set msg = Server.CreateOBject( "JMail.Message" )
Set upload = Server.CreateObject( "w3.Upload" )

msg.Logging = true
msg.silent = true

name = upload.Form("navn")
senderEmail = upload.Form("mail")
subject = upload.Form("emne")
recipient = ("navn@domæne.dk")
body = upload.Form("besked")
ip = Request.ServerVariables("REMOTE_ADDR")

msg.From = SenderEmail
msg.FromName = Name
msg.AddRecipient Recipient
msg.AddRecipientBCC senderEmail
msg.Subject = Subject

msg.Body = "Meddelelse den " & Date & " klokken " & Time & " fra: " & recipient & vbCrLf & "Navn: " & name & vbCrLf & "Mail: " & senderEmail & vbCrLf & "Emne:" & vbCrLf & subject & vbCrLf & "Tekst: " & vbCrLf & body

if not msg.Send("websmtp.domæne.dk") then
msg.Send("mailrelay.webhotel.dk")
Response.write "<pre>" & msg.log & "</pre>"
else
Response.write "<p>Meddelelse afsendt den " & Date & " klokken " & Time & "<br /><br /><b>Fra: </b>" & name & "<br /><br />" & "<b>Mail: </b><a href='mailto:" & senderEmail & "'>" & senderEmail & "</a> <br /><br />" & "<b>Emne: </b>" & subject & "<br /><br /><b>Tekst: </b>" & body & "<br /><br />Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt." & "</p>"
end if
%>

</body>

</html>
Avatar billede fennec Nybegynder
06. juli 2006 - 12:27 #1
Det er w3.Upload objektet, som ikke er hos din udbyder. De har nok et andet upload komponent, og du skal have æbdret din kode så det bruge dette komponent i stedet.
Avatar billede sneumann Novice
06. juli 2006 - 14:24 #2
fennec: Ja det har jeg også hørt fra en anden, at jeg skulle prøve at slette linjen, men når jeg gør det, får jeg flg. meddelelse:

Microsoft VBScript runtime error '800a01a8'

Object required: ''

/mail.asp, line 38

Hvad gør jeg så?

Kan du evt. hjælpe med at lave en formmail i ASP som virker?
Avatar billede fennec Nybegynder
06. juli 2006 - 14:38 #3
Alt der har med upload at gøre skal slettes. Prøv med dette:

<%@LANGUAGE="VBSCRIPT" %>
<% session.LCID = 1030 %>

<title>Husk at udfylde alle felterne</title>

<body>

<form id="kontakt" method="post" action="mail_sender.asp">

<fieldset>
<legend>Husk at udfylde alle felterne</legend>

<label for="t1">Navn:</label>
<input id="t1" type="text" name="navn" /><br />

<label for="t2">Email:</label>
<input id="t2" type="text" name="mail" /><br />

<label for="t3">Emne:</label>
<input id="t3" type="text" name="emne" /><br />

<label for="t4">Besked:</label>
<textarea id="t4" name="besked" rows="10" cols="49"></textarea><br />
<label for="t5">&nbsp;</label>
<input id="t5" type="submit" value="Send" />
<input type="reset" value="Slet" />
</fieldset>

</form>

<%
set msg = Server.CreateOBject( "JMail.Message" )

msg.Logging = true
msg.silent = true

name = Request.Form("navn")
senderEmail = Request.Form("mail")
subject = Request.Form("emne")
recipient = ("navn@domæne.dk")
body = Request.Form("besked")
ip = Request.ServerVariables("REMOTE_ADDR")

msg.From = SenderEmail
msg.FromName = Name
msg.AddRecipient Recipient
msg.AddRecipientBCC senderEmail
msg.Subject = Subject

msg.Body = "Meddelelse den " & Date & " klokken " & Time & " fra: " & recipient & vbCrLf & "Navn: " & name & vbCrLf & "Mail: " & senderEmail & vbCrLf & "Emne:" & vbCrLf & subject & vbCrLf & "Tekst: " & vbCrLf & body

if not msg.Send("websmtp.domæne.dk") then
msg.Send("mailrelay.webhotel.dk")
Response.write "<pre>" & msg.log & "</pre>"
else
Response.write "<p>Meddelelse afsendt den " & Date & " klokken " & Time & "<br /><br /><b>Fra: </b>" & name & "<br /><br />" & "<b>Mail: </b><a href='mailto:" & senderEmail & "'>" & senderEmail & "</a> <br /><br />" & "<b>Emne: </b>" & subject & "<br /><br /><b>Tekst: </b>" & body & "<br /><br />Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt." & "</p>"
end if
%>

</body>

</html>
Avatar billede sneumann Novice
06. juli 2006 - 15:58 #4
Tak fennec det har hjulpet en hel del, men når man nu klikker ind på siden, skriver den flg. nederst:

Meddelelse afsendt den 06-07-2006 klokken 15:43:22

Fra:

Mail:

Emne:

Tekst:

Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt.

Kan du ikke i koden gøre sådan, at det først kommer frem, når personen har klikket på send, og ikke lige når man kommer ind på siden?

Håber du kan hjælpe.

På forhånd tak.
Avatar billede fennec Nybegynder
06. juli 2006 - 16:24 #5
Sådan:

<%@LANGUAGE="VBSCRIPT" %>
<% session.LCID = 1030 %>

<title>Husk at udfylde alle felterne</title>

<body>
<%
if Request.querystring("mode") = "send" then
    set msg = Server.CreateOBject( "JMail.Message" )
    msg.Logging = true
    msg.silent = true
    name = Request.Form("navn")
    senderEmail = Request.Form("mail")
    subject = Request.Form("emne")
    recipient = ("navn@domæne.dk")
    body = Request.Form("besked")
    ip = Request.ServerVariables("REMOTE_ADDR")
    msg.From = SenderEmail
    msg.FromName = Name
    msg.AddRecipient Recipient
    msg.AddRecipientBCC senderEmail
    msg.Subject = Subject
    msg.Body = "Meddelelse den " & Date & " klokken " & Time & " fra: " & recipient & vbCrLf & "Navn: " & name & vbCrLf & "Mail: " & senderEmail & vbCrLf & "Emne:" & vbCrLf & subject & vbCrLf & "Tekst: " & vbCrLf & body
    if not msg.Send("websmtp.domæne.dk") then
    msg.Send("mailrelay.webhotel.dk")
        Response.write "<pre>" & msg.log & "</pre>"
    else
        Response.write "<p>Meddelelse afsendt den " & Date & " klokken " & Time & "<br /><br /><b>Fra: </b>" & name & "<br /><br />" & "<b>Mail: </b><a href='mailto:" & senderEmail & "'>" & senderEmail & "</a> <br /><br />" & "<b>Emne: </b>" & subject & "<br /><br /><b>Tekst: </b>" & body & "<br /><br />Tak for din henvendelse. Jeg vender tilbage så hurtigt som muligt." & "</p>"
    end if
%>

<%
Else  %>
<form id="kontakt" method="post" action="mail_sender.asp?mode=send">

<fieldset>
<legend>Husk at udfylde alle felterne</legend>

<label for="t1">Navn:</label>
<input id="t1" type="text" name="navn" /><br />

<label for="t2">Email:</label>
<input id="t2" type="text" name="mail" /><br />

<label for="t3">Emne:</label>
<input id="t3" type="text" name="emne" /><br />

<label for="t4">Besked:</label>
<textarea id="t4" name="besked" rows="10" cols="49"></textarea><br />
<label for="t5">&nbsp;</label>
<input id="t5" type="submit" value="Send" />
<input type="reset" value="Slet" />
</fieldset>

</form>
<%
End If %>


</body>

</html>
Avatar billede sneumann Novice
06. juli 2006 - 18:08 #6
1000 tak for hjælpen fennec, nu virker det bar og ser godt ud.
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
Kurser inden for grundlæggende programmering

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