fredag den 29. november 2013

Tutorial – Send mail med PHP

I PHP hedder funktionen til at sende e-mails noget så enkelt som mail().
Mail funktionen bygges op således:

mail(Modtager, Emne, Besked, Headers);

Modtager er den e-mail adresse som modtageren har. F.eks. test@test.dk.

Emne er det der skal stå i Emne/Subject i toppen af e-mailen.

Besked er selve indholdet af e-mailen.

Headers er forskellige specifikationer omkring e-mailen. Dette kan være hvilke tegn der skal vises (charset), mailens prioritet og mange andre ting.


Jeg har lavet et simpelt PHP mail script, der kan sende mails.
Scriptet modtager input fra en formular, hvorefter data bearbejdes i mail.php.


Index.php – form

<form method="post" action="mail.php">
<p><label for="email">E-mail: </label>
<input type="email" name="email" id="email"></p>
<p><label for="emne">Emne: </label>
<input type="text" name="emne" id="emne"></p>
<p><label for="besked">Besked: </label>
<textarea name="besked" id="besked"></textarea></p>
<p><input type="submit" value="Send besked"></p>
</form>

Mail.php

<?php
// Simpelt mail script
// Forfatter: Morten Hansen

// Modtag data fra form

// Modtagers e-mail

$modtager = $_POST["modtager"];

// E-mailens emne

$emne = $_POST["emne"];

// Beskedens indhold

$besked = $_POST["besked"];

// Headers
// Alle nedenstående headere, vil komme med I funktionen, da vi sætter dem efter hinanden ved hjælp af .=

// MIME-Version: 1.0 søger for at vi kan bruge andre tegn end dem understøttet af ASCII.
$header  = "MIME-Version: 1.0" . "\n";

// Denne header fortæller at vi tillader HTML og hvilket charset vi har valgt.
$header .= "Content-type: text/html; charset=iso-8859-1" . "\n";

// Skriver i ‘fra’ feltet i e-mailen.
$header .= "From: test@test.dk\n";

// Skriver I ‘svar til’ feltet I e-mailen.
$header .= "Reply-To: Test  <test@test.dk>\n";

// Sætter e-mailen til at have højest mulig prioritet.
$header .= "X-Priority: 1\n";
$header .= "X-MSMail-Priority: High\n";
$header .= "Importance: High\n";

// Send e-mailen
mail($modtager, $emne, $besked, $header);

// Bestem hvilken side brugeren skal have vist bagefter
header("Location: index.php");
?>

Med dette script, kan du sende en mail med PHP!
Det er vigtigt at ligge filerne op på en rigtig webserver, og ikke bare bruge localhost, da man skal have en tilknyttet mailserver.

Hvis du har indsat dette script og uploadet index.php og mail.php til en webserver, skulle du gerne være i stand til at sende mails nu!

Ingen kommentarer:

Send en kommentar