Kan du ikke også lige beskreve fejlen: Hvad er det der sker? Hvad sker ikke? Hvad forventede du der skulle ske? Får du en fejlmeddelese? Eller hvad?
Synes godt om
Slettet bruger
23. juli 2006 - 17:21#2
Nej jeg får nemlig ingen fejl meddelse, og det er det der irriterer mig, får ellers tror jeg sagtens at jeg kunne finde ud af det.
Jeg havde forventet, at den skrev "Beskeden er sendt" når jeg har udfyldt det hele korrekt, men for det meste skriver den "Der skete en fejl, prøv igen.".
Hvis jeg opdatere et par gange (nogen gange) så bliver beskeden lige pludseligt sendt, og jeg kan ikke finde ud af om det er fordi jeg først får lavet en fejl eller hvordan og hvorledes.
Jeg kan da lige starte med at fortælle at man bruger \r\n til at skifte linje i en mail. Det er defioneret på den måde i standarden og det afhænger ikke af operativsystem.
Svjv. kan du ikke selv ændre indholdet af $_POST ?
Synes godt om
Slettet bruger
23. juli 2006 - 18:40#6
Så det er lige gyldigt hvilke operativ system man bruger med henholdt til \r\n osv.? $_POST['cLeft'] = 500; sætter jeg fordi den tæller ned hvor man chars du har skrevet fra 500, da man maks må skrive 500 chars.
> Så det er lige gyldigt hvilke operativ system man bruger med henholdt til \r\n osv.?
Ja.
> $_POST['cLeft'] = 500; sætter jeg fordi den tæller ned hvor man chars du har skrevet fra 500, da man maks må skrive 500 chars.
Jeg stillede nu også mere spørgsmålstegn ved om det overhovedet ville virke.
Synes godt om
Slettet bruger
23. juli 2006 - 18:48#8
Jamen det er fordi jeg kører noget validering fra en anden funktion, men det ser fucked ud, og det er heller ikke så godt:
function validering ($string, $mode = 1, $return = false) { /* ### MODE 1: Name ### MODE 2: TLF ### MODE 3: Email ### MODE 4: Message // ZIPCODE ### MODE 5: Adresse ### MODE 6: SUBJECT ### MODE 7: ORDER TIME ### MODE 8: NUMBER
### RETURN STRING: FALSE: OFF ### RETURN STRING: TRUE: ON */ $string = strip_tags($string); // REMOVE ALL PHP AND HTML TAGS FROM A STRING! $string = stripslashes($string); $answer = true;
Og der printer jeg dem ud igen i felterne hvis mailen ikke bliver sendt. Men hvis mailen bliver sendt skal den jo reset de andre felter, og feltet cLeft, skal starte på 500, så det er nu mere hvis man nu skal sende en til eller lign.
For når du loader siden på ny, glememr den jo $_POST, og der bliver den sat til 500. Tegn tilbage <input type="text" name="cLeft" class="text" value="<?PHP if(isset($_POST['contact_submit'])) { echo $_POST['cLeft']; } else { echo "500"; } ?>" size="4" maxlength="4" style="border: 0px; background-color: transparent;" />
Synes godt om
Slettet bruger
23. juli 2006 - 18:49#9
Men kan du se nogen fejl, i selve mail funktionen? sendMail()?
Synes godt om
Slettet bruger
23. juli 2006 - 18:56#10
Ved ikke hvor det er fejlen går galt men det er ikke sendMail();
Prøvede lige at lave en anden fil, hvor jeg includer func.php, og bruger funktionen som den virker på siden.
Der er ingen fejl der.
Synes godt om
Slettet bruger
23. juli 2006 - 19:10#11
Og har også prøvet at sætte validering på min test, og der virker den fint. Så det må være selve siden.
<?PHP include("func.php"); $navn = "Nanv navn"; $tlf = 88888888; $emen = 5; $mail = "minmail@domain.dk"; $tekst = "Min tekst om dette virker!"; if(validering($navn, 1) && validering($tlf, 2) && validering($mail, 3)) { if(sendMail($navn, $emne, $tlf, $mail, $tekst)) { echo "Fint!"; } else { echo "Ikke!"; } echo "- Validering fin"; } else { echo "Validering er ikke god nok!"; } ?>
Nielle: Dit indlæg: 23/07-2006 17:26:04 Jeg kan fortælle at på min freebsd server, hvis jeg bruger \r\n i mail(), så bliver emailen "fucked up". Hvis jeg derimod kun bruger \n, så er emailen som forventet! Så nogle gange skal man altså nøjes med \n. Det kan selvfølgelig også skyldes en fejlopsætning af serveren!
- skal linjer i en mail afslittes med <CRLF>, altså \r\n.
Når det går galt er det imidlertid mailprogrammets skyld og ikke operativsystemets.
Synes godt om
Slettet bruger
23. juli 2006 - 22:36#14
Men det er da mega underligt, for nu har jeg jo sam sagt kørt funktionen validering(), og mailSend() på en ny side, og der virker det jo som funventet.
Jeg må have lavet en fejl i selve html, og mit PHP tingeling, det må jeg lige få tjekket igennem.
Bemærk: Hvis beskeden ikke bliver modtaget, prøv så kun at benytte LF (\n). Nogle dårlige Unix mailservere udskifter LF med CRLF automatisk, hvilket bliver til dobbelt CR hvis CRLF er brugt. Dette skal være den sidste udvej, da metoden ikke overholder RFC 2822 standarden.
Så vidt jeg husker, er qmail en af de servere, som laver fejl i det. Jeg vil tro den oprindelige sendmail gør det korrekt.
Ja det må da sige. Jeg har kontakte B-one som er hostet, og det er dem der har sat sikkerhed på deres mail(), funktion pga. spam sikkerhed.
Det man skal gøre af at den "FROM" der er i scriptet skal være til en email der er på ens eget domain, altså en robot@mit-domain.dk, så der er en afsender. Det var deres svaar i hvert fald og det lader til at virke helt fint.
B-One har været oppe og vende mange gange. Deres spam-restriktioner er bygget sådan her sammen:
For at gøre det sværere at udsende spam fra, er der restriktioner på afsendelse af post fra webserverne.
Systemet deler post op i tre kategorier: 0: Post med en kendt afsenderadresse på domænet 1: Post til en kendt adresse på domænet 2: Alt andet
Al post i kategori 0 og 1 slipper igennem. Hver gang et brev i kategori 2 accepteres sætter systemet en ventetid på <antal modtagere>*5 minutter før næste brev i kategori 2 accepteres.
Den post man selv afsender (f.eks. nyhedsbreve og lign.) bør have en afsenderadresse på domænet, og vil dermed havne i kategori 0.
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.