Sende e-post med PHP
Dette enkle scriptet lar deg sende e-post via et skjema. Ikke alle ISP-er tilbyr denne funksjonen, da den kan misbrukes, f.eks. som anonym e-postklient.
1: Nødvendige filer
Scriptet baserer seg på to filer som jeg har kalt:
- epost.php
- bekreftelse.php
- epost.css
2: Skjema for utfylling
Filen "epost.php" inneholder skjemaet brukeren fyller ut, og er vist her.
- <form action="bekreftelse.php" method="post">
- <p id="e-post_navn">
- Navn:<br /><input type="text" name="navn" size="20" maxlength="50" tabindex="1" />
- </p>
-
- <p id="e-post_epost">
- E-post:<br /><input type="text" name="epost" size="20" maxlength="50" tabindex="2" />
- </p>
-
- <p id="e-post_melding">Melding:<br />
- <textarea cols="72" rows="10" name="tekst" tabindex="3" class="e-post_melding">
- </textarea><br />
-
- <input type="submit" name="submit" value="Send" tabindex="4" class="epost_knapp" />
- <input type="reset" name="reset" value="Slett" tabindex="5" class="epost_knapp" />
-
- </form>
3: Script for behandling av skjema
Som du kan se av scriptet, henter skjemaet filen "bekreftelse.php". Denne filen utfører selve sendingen og ser ut som følger.
- <h1>Din henvendelse er sendt!</h1>
-
- <?php
- if ($submit)
- {
- if (!$navn)
- {
- echo ("Du må fylle ut alle feltene!");
- }
- else
- {
- $sendto = "dinepostadresse@dittdomene.no"; // Skriv inn din e-mail.
- $subject = "Her kan du skrive en tittel"; // Her velger du tittel.
- $ip = ( $_SERVER["REMOTE_ADDR"] );
- $message = "
- Navn: $navn
-
- E-post: $epost
-
- Tekst: $tekst
-
- IP-adresse : $ip
-
- Referer: $HTTP_REFERER
-
- ";
- $headers = "Fra: $navn\r\n";
- mail($sendto, $subject, $message, $headers);
- echo ("<p style=\"font-weight : bold;\">Din henvendelse er sendt!</p>");
-
- }
- }
- ?>
4: Stilsetting av skjema
Husk at stilene enten må legges til et eksisterende stilsett, eller legges til i <head>-taggen. All stilsetting av skjemaet gjør vi i filen "epost.css":
- p#epost_navn {
- font-weight: bold;
- margin: 0 0 0.6em 0;
- padding: 0;
- }
-
- p#epost_epost {
- font-weight: bold;
- margin-bottom: 0.6em;
- margin-top: 0;
- padding: 0;
- }
-
- p#epost_melding {
- font-weight: bold;
- margin: 0;
- padding: 0;
- }
-
- textarea.epost_melding {
- margin-bottom : 0.5em;
- }
-
- input.epost_knapp {
- border : thin solid black;
- }
5: Endring av nødvendige variabler
Videre må du endre følgende variabler:
- $sendto = "dinepostadresse@domene.no"; // Skriv inn din e-post
Her setter du inn din e-postadresse mellom anførselstegnene. Denne vil ikke være synlig for brukeren.
- $subject = "Tittel for eposten settes her"; // Her velger du tittel
Dette er e-postens tittel eller subject på engelsk. Alternativt kan du lage eget felt hvor brukeren selv kan bestemme tittel.
6: Testing
Til slutt laster du opp filene, sørger for at de har korrekte tilganger og tester herligheten. Se løsningen i bruk her!