Du kan give dine brugere en mulighed for at sende en email til dig, selvom de ikke lige har en aktiv email-adresse. Til dette kan du bruge en af PHP's indbyggede funktioner. Nemlig: email()
PHP's indbyggede emailfunktion skal bruge 3 parametre + evt en 4. valgfri. Funktionen ser således ud:
mail(modtager,emne,besked(, headers));
De ekstra headers kan være en eller flere af følgende:
From: (afsenderen af emailen) Reply-to: (svar-til) Cc: (kopi-til) Bcc: (blind-kopi)
For bare at sende en enkelt email ser funktionen således ud:
mail("lars@vuckbh.dk", "Opgave 13", "Opgave 13 færdig");
For at sende en email, så modtageren også kan se hvem den kommer fra (og sat op på en lidt mere overskuelig måde):
mail( "lars@vuckbh.dk", "Opgave 13", "Jeg har lagt opgave 13 ud på Fronter", "From: hans@kbhkoks.dk" );
Selvfølgelig kan man også kombinere mail-funktionen med variabler. Det er her det bliver virkeligt fleksibelt. Det er også muligt at indsætte linieskift i selve beskeden med \r\n:
<? $modtager = "larsdenanden@kbhvuc.dk"; $emne = "Så er bygningen færdig"; $besked = "Nu har vi den bygning færdig du har bestilt. "; $besked .= "\r\nDu kan se den imorgen."; $fra = "From: hansbygger@stenoggrus.dk"; $fra .= "\r\nReply-to: svar@stenoggrus.dk"; mail($modtager, $emne, $besked, $fra); ?>
Læg mærke til, hvordan man kan sammenlægge to tekst-strenge:
$besked = "Nu har... ...bestilt. "; bliver lagt sammen eller kombineret til en streng med kommandoen:
$besked .= "\r\nDu kan... ...imorgen.";.
Det er "konkat-operatoren" .= (punktum-lighedstegn). Denne bruges til at tilføje en streng (et stykke tekst) til en variable uden at slette indholdet i variablen.
Du skal nu til at oprette en email-funktion til brug på dine sider.
Du skal opret 2 sider:
Denne side er en almindelig html-side.
<form action="send.php" method="get"> <input type="hidden" value="1" name="skjul"> <input type="text" value="Modtager..." name="modtager"><br> <input type="text" value="Emne" name="emne"><br> <input type="text" value="Besked..." name="besked"><br> <input type="text" value="Afsender..." name="fra"><br> <input type="submit" value="Send"> <input type="reset" value="Fortryd"> </form>Læg mærke til, at der er et skjult felt, som bliver sendt sammen med formularen. Det skal bruges til at checke om det er siden med formularen, der har sendt brugeren videre til send.php.
Nu skal du oprette den side, der sender emailen:
<?
if(!empty($_GET['skjul']))
{
$modtager = $_GET['modtager'];
$emne = $_GET['emne'];
$besked = $_GET['besked'];
$fra = "From: " . $_GET['fra'];
if(mail($modtager, $emne, $besked, $fra))
{
echo "Mail sendt til:" . $modtager;
}
else
{
echo "Kunne ikke sende mail. ";
echo "Prøv igen: <a href=\"emailform.htm\">emailform.htm</a>";
}
}
else
{
echo "Prøv igen: <a href=\"emailform.htm\">emailform.htm</a>";
}
?>
Funktionen mail sender koden true tilbage, hvis det er lykkedes at sende mailen og koden false, hvis det ikke er lykkedes at sende mailen.
Derfor kan man checke med if(mail($modtager, $emne, $besked, $fra)).