Avatar billede holsted Nybegynder
05. januar 2007 - 09:25 Der er 14 kommentarer og
1 løsning

JMail - Method Not Allowed

Jeg har en form på en webside, der sender via Jmail. Den bruger method="post". Jeg har to felter i formen: name="from_name" og name="from_email". Min udbyders SMTPserver hedder "smtp.cliche.dk" og der står at de understøtte JMail.
De skriver også: "Husk når du laver mailscripts at lave en afsenderadresse i scriptet, da mailserveren ellers vil afvise mailen." Hvad bestyder det?

Mit JMail script hedder "Send.asp" og ser således ud:

<%
Body = vbCrLf & vbTab & "Formmail fra www.dondon.dk" &_
vbCrLf & vbCrLf & vbTab & "Navn : " & Request.Form("from_name") &_
vbCrLf & vbTab & "Email : " & Request.Form("from_email")
       
Set JMail = Server.CreateObject("JMail.SMTPMail")
       
JMail.ServerAddress = "smtp.cliche.dk"
   
Jmail.ContentType = "text/html"
JMail.Charset = "iso-8859-1"
JMail.ContentTransferEncoding = "8bit"
       
JMail.Sender = request.Form("from_email")
JMail.SenderName = "Dondon"
JMail.Subject = "Tilmeldning til nyhedsbrev"        
JMail.AddRecipient "kh@holsteddesign.dk"   
JMail.Body = Body

        ' 1 - highest priority (Urgent)
        ' 3 - normal
        ' 5 - lowest       
JMail.Priority = 3
   
JMail.execute    
if err <> 0 then %>
           
Der er opstået en fejl, kontakt webmasteren....
       
<%
end if    
set JMail = nothing
%>
<%
Response.redirect "index.html"   
%>

Jeg synes jeg har gjort det rigtigt, men når jeg sender fra siden får jeg en fejl der siger:
"Method Not Allowed
The requested method POST is not allowed for the URL /test/send.asp.

---------------------------------------------------------
Apache/1.3.34 Server at www.dondon.dk Port 80"

Hvad gør jeg forkert???
Avatar billede fennec Nybegynder
05. januar 2007 - 09:41 #1
Det virker lidt mærkelig at du får en Apache server fejl, når du kører ASP. Ifølge cliche kører deres ASP på en windows maskine hvilke burde betyde at det er en IIS.
Avatar billede holsted Nybegynder
05. januar 2007 - 10:13 #2
Ja det ser mærkeligt ud. Ser det ellers ud til at jeg har gjort det rigtigt?
Avatar billede fennec Nybegynder
05. januar 2007 - 10:18 #3
Hvad jeg lige kan se, så ser det det ok ud.

Har du evt et sted hvor vi kan test/se koden i aktion??
Avatar billede fennec Nybegynder
05. januar 2007 - 10:21 #4
Nu er det vel ikke sådan at det er et PHP webhotel du har hos cliche??
Avatar billede holsted Nybegynder
05. januar 2007 - 11:13 #5
Jeg har ikke en egen server hvor vi kan teste koden, hvis det er det du efterlyser. og med hensyn til webhotellet, så undersøger jeg det lige.
Avatar billede holsted Nybegynder
05. januar 2007 - 11:33 #6
Det viser sig, at det er en PHP server jeg har, så kan jeg bedre forstå at det ikke virker. Kan du evt. anbefale et PHP script der kan det samme som JMail. Cliche har installeret PHP modulet GDlib 2.0.1.
Avatar billede fennec Nybegynder
05. januar 2007 - 11:49 #7
PHP har indbygget en mail funktion i koden:
mail($mail_to,$mail_subject,$mail_body,$mail_headers);

http://dk2.php.net/manual/da/function.mail.php

Du skal nok have sat fromEmail via headeren. Det gør du sådan:
$mail_headers = 'From: min@adresse.dk'
Avatar billede holsted Nybegynder
05. januar 2007 - 12:06 #8
Det forstår jeg ikke rigtigt, men jeg har fundet noget her:

<?php
if(isset($_POST['send'])){

mail("kh@holsteddesign.dk", "From: $_POST['from_name'] <$_POST['from_email']>\nContent-type: text/html; charset=iso-8859-1");

echo "Din mail er nu sendt";
}
?>

og så giver du din form: <form action="<?php echo $PHP_SELF; ?>" method="post">,

men hvor skal PHP- koden anbringes, skal den være i det samme dokument som formen eller skal den ligge som et selvstændigt dok. på serveren?
Avatar billede fennec Nybegynder
05. januar 2007 - 12:30 #9
Den kan ligge i samme dokument elle selvstændig. Ligesom med ASP.

<?php
if(isset($_POST['send'])){
  $to = "kh@holsteddesign.dk";
  $subject = "Dette er emnet";
  $body = "dette er indholdet";
  $header = "From: $_POST['from_name']";
  mail($to, $subject, $body, $header);
  echo "Din mail er nu sendt";
}
?>
<form action="<?php echo $PHP_SELF; ?>" method="post">
...
...
</form>
Avatar billede holsted Nybegynder
05. januar 2007 - 16:12 #10
Det virker ikke, nu har jeg lagt php koden i html dokumentet, hvor formen ligger og for følgende meddelse:HTTP 404 not found og url'en den ikke kan finde hedder: http://www.dondon.dk/test/%3C?php%20echo%20$PHP_SELF;%20?>

Hvis jeg vil lægge php koden i et selvstændingt dokument, hvad skal det så hedde?
Avatar billede holsted Nybegynder
05. januar 2007 - 16:15 #11
Skal der ikke også være et felt der henter værdien fra den indtastede e-mail?
Avatar billede holsted Nybegynder
08. januar 2007 - 13:03 #12
hej
jeg har fået løst problemet, så kan du ikke lige give mig et "svar", så du kan få dine point og så jeg kan få lukket spørgsmålet
Avatar billede fennec Nybegynder
08. januar 2007 - 13:07 #13
.o) <-- One Eyed Jack
Avatar billede holsted Nybegynder
08. januar 2007 - 13:23 #14
Hvad sker der?? Jeg har accepteret dit svar, men der skrives "Dit spørgsmål er besvaret, og du bedes derfor acceptere de svar som passer til dit spørgsmål og afvise de forkerte. Dette gøres under indlæggene." Hvad betyder det??
Avatar billede fennec Nybegynder
08. januar 2007 - 13:30 #15
Har du valgt mit navn i boxen til venstre, inden du trykker accepter??
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