Avatar billede maqhem Nybegynder
18. maj 2006 - 16:18 Der er 4 kommentarer og
2 løsninger

mail med php

Jeg har denne kode:

<?
$to = $_POST['to'];
mail("$to", "Emne", $_POST["msg"], "From: Maqhem - Mechanical Soldiers <robot@meso.frac.dk>");
?>

Dette duer fint, men jeg vil have den til automatik at proppe dette på meddelelsen:

"

Denne mail kan ikke besvares!"

Hvordan går jeg det?
Avatar billede maqhem Nybegynder
18. maj 2006 - 16:36 #1
Kan det ikke lade sig gøre eller hvad!?
Avatar billede amews_aj Nybegynder
18. maj 2006 - 16:48 #2
<?
$to = $_POST['to'];
$msg = $_POST['msg'] . "\r\n\r\nDenne mail kan ikke besvares!";
mail("$to", "Emne", $msg, "From: Maqhem - Mechanical Soldiers <robot@meso.frac.dk>");
?>
Avatar billede amews_aj Nybegynder
18. maj 2006 - 16:48 #3
Det var et svar...
Avatar billede maqhem Nybegynder
18. maj 2006 - 16:52 #4
\r\n!?!? Hvad er det?
Avatar billede amews_aj Nybegynder
18. maj 2006 - 16:59 #5
Det er linjeskift...
\r\n = linjeskift
I nogle tilfælde skal du bare bruge \n

Hvis du sender email som html, hvilket din kode der ikke gør, så skal du bruge <br>
Avatar billede mrgumble Nybegynder
19. maj 2006 - 08:23 #6
Men! Du skal lige passe på! Sådan som din kode er nu, kan den bruges til at spamme med!
Sæt nu, at $_POST['to'] er:
hej@mig.dk\r\nBCC: spamliste@spam.xxx
Så står du (robot@meso.frac.dk) og din server pludselig som afsender på en masse spam! Det samme gælder for $_POST['msg'], at hvis første linie er "BCC: spamliste$spam.xxx", ja så sker det samme igen.

For at undgå det første, kan du teste om visse tegn (bl.a. linieskift) er en del af $_POST['to']; hvis det er, forsøger nogen at misbruge din funktion.
Ved den anden, kan bare indsætte et linieskift foran det hele:

if (instr($_POST['to'], "\r\n") != false) {
  echo "Hej. Linieskift hører altså ikke til i en til-adresse. Du er ikke ude på ballade, vel?";
  die();
}
$msg = "\r\n".$_POST['msg']."\r\nDenne mail kan ikke besvares!";
if (mail(...) == false) {
  die("Mailen blev ikke sendt");
} else {
  die("Mailen blev succesfuldt sendt");
}
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