Avatar billede claushelth Nybegynder
27. januar 2003 - 01:03 Der er 10 kommentarer og
1 løsning

mail sender error smtp

Jeg er nybegynder med php, og sidder og følger en guide på http://www.webcafe.dk/artikler/php/mail/ hvor jeg laver en mail sender i php.

Den består af følgende:
- en shtml fil med selve formen sendmail.shtml
- en php fil der behandler data og skal sende det afsted mail.php

Når jeg afsender får jeg denne fejl:
Warning: mail() [function.mail]: SMTP server response: 503 5.5.1 Incorrect command sequence in c:\apache\htdocs\test\mail.php on line 11

min php kode:
<?php

$epost_afs = $_REQUEST["epost_afs"];
$epost_mdt = $_REQUEST["epost_mdt"];
$subject  = $_REQUEST["subject"];
$input    = $_REQUEST["input"];

mail("$epost_mdt",
    "$subject",
    "$input",
    "From: $epost_afs\nReply-to: $epost_afs");

echo "Mail er sendt til $epost_mdt";

?>
fejlen er lige efter funktionen mail er blevet kaldt, dvs den sendte ingenting.

jeg kører på xp med en apacheserver,php4 og har tilrettet min php.ini inde i windows. Jeg benytter ikke emailprogrammer, men er tilknyttet en ISP i Malmø som bruger SMTP: mail.bolina.hsb.se , jeg bruger deres webmail, med password og brugernavn (men det er vel ligemeget her!).

php.ini:
[mail function]
; For Win32 only.
SMTP = mail.bolina.hsb.se

; For Win32 only.
sendmail_from = admin@chelth.dk

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =

Er det mig eller bruger jeg php forkert.

VH
Claus
ps. Jeg prøvede at indsætte mail.frip.dk som smtp istedet, men samme fejl!
Avatar billede cpufan Juniormester
27. januar 2003 - 01:09 #1
de fleste mailservere kræver lokal mailadresse for afsendelse,
dvs. den side der prøver at sende, skal ligge på den pågældende server
og ydermere skal emailadressen være gyldig.
Avatar billede claushelth Nybegynder
27. januar 2003 - 01:13 #2
ok...så jeg skal ændre min email til den jeg bruger hos min udbyder...
men siden ligger jo sjældent på den samme server som smtp serveren, i mit tilfælde har jeg jo selv serveren hvor siden ligger, men ingen smtp server. Det sidste lyder da mærkeligt, jeg har da set andre benytte eksterne servere...
Avatar billede claushelth Nybegynder
27. januar 2003 - 01:16 #3
selvom jeg ændre email i php.ini til min rigtige mail hos ISP, får jeg samme fejl.
Avatar billede claushelth Nybegynder
27. januar 2003 - 01:17 #4
jeg har en firewall i min router, men jeg har åbnet for port 25(kan det ikke passe det er til udadgående mail?).
Avatar billede cpufan Juniormester
27. januar 2003 - 01:29 #5
du er nød til at aktivere noget smtp på din server så,

eller også skal du sende dit brugernavn og password med som hidden input,
således du logger ind på fjernserveren.

At nogle kan sende gennem andre servere skyldes at ikke alle servere er spærret
for open relay, men de bliver til gengæld tit blokket, da de bruges til spam.
Avatar billede madsbrodersen Nybegynder
27. januar 2003 - 06:54 #6
For mig at se er du da i kontakt med den smtp-server. Men fejlkoden (503 5.5.1) betyder på nogle mailservere "No recipients" dvs. du får sendt mailen frem til serveren, men den mangler en modtageradresse.
Avatar billede claushelth Nybegynder
27. januar 2003 - 11:01 #7
Men jeg har givet modtager...se min afsender shtml kode her:

<form action="mail.php" method="post">
  <input type="text" afsender="epost_afs" size="30"> Afsenders e-mail<br>
  <input type="text" modtager="epost_mdt" size="30"> Modtager<br>
  <input type="text" overskrift="subject" size="30"> Overskrift<br>
  <input type="text" indhold="input" size="30"> Indhold<br>
  <input type="submit" value="Send">
</form>

Hvis man sammenligner variablerne med dem i min php øverst oppe, så passer de jo overens med hinanden? Og modtageren er jo givet som det første argument i php-funktionen?

Hvordan tyder man disse fejlkoder?
Kan det være fordi min ISP ikke understøtter denne form for mail-sender? Hvad skal man spørge om hvis man ringer til dem, så de forstår det...der må jo være en officiel betegnelse for denne måde at sende mails på?
Avatar billede claushelth Nybegynder
27. januar 2003 - 11:02 #8
Hvis det er rigtigt med brugernavn og password som hidden input...så vil jeg da gerne høre lidt mere om det... :-)
Avatar billede claushelth Nybegynder
27. januar 2003 - 11:28 #9
nu har jeg prøvet at kontrolere variablerne inden de bliver sat ind i funktionen, men jeg kan ikke engang få skrevet dem ud ny php kode:

<?php

$epost_afs = $_REQUEST["epost_afs"];
$epost_mdt = $_REQUEST["epost_mdt"];
$subject  = $_REQUEST["subject"];
$input    = $_REQUEST["input"];

echo "epost_afs: $epost_afs";
echo "epost_mdt: $epost_mdt";
echo "subject  : $subject";
echo "input    : $input";

mail("$epost_mdt",
    "$subject",
    "$input",
    "From: $epost_afs\nReply-to: $epost_afs");

echo "Mail er sendt til $epost_mdt";

?>

Og den nye fejlmeddelse:

epost_afs: epost_mdt: subject : input :
Warning: mail() [function.mail]: SMTP server response: 503 Valid RCPT TO must precede DATA in c:\apache\htdocs\test\mail.php on line 18
Avatar billede claushelth Nybegynder
27. januar 2003 - 11:30 #10
Det ser  ud som om at der slet ikke overføres nogle variabler...hmm
Avatar billede claushelth Nybegynder
27. januar 2003 - 12:16 #11
hehe...jeg sagde jo at jeg var nybegynder.

Jeg fandt ud af at i den html side hvor man sender beskeden, skal der stå name ud for alle variabler, og ikke det man selv vil kalde dem. Jeg troede bare at de var der for at hjælpe en selv.

jeg skulle ikke bruge brugernavn eller password for at benytte SMTP...det kører bare.

Jeg tror jeg snupper alle pointene selv da jeg selv fandt fejlen...elers tak for hjælpen.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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