Send julekort med PHP

Det er nok for sent at sende julekortene via sneglepost, hvis de skal frem før dagen. Men PHP kan redde samvittigheden for de glemsomme. Vi viser, hvorledes man nemt kan kode postkort, som kan bringe glæde til brugerne af ens website.

Billede- og mail-funktioner

Julen står for døren, og så er det sæson for afsendelse af julekort til alle dem man heller ikke i år nåede at snakke med. Den slags gørest nemmest elektronisk, og postkort-funktionalitet er nemt at implementere i PHP. En af styrkerne ved PHP som webscriptingsprog er den store mængde funktionalitet, man får foræret ganske gratis.

Her i eksemplet benytter vi billedbehandling- og mail-funktioner, og vi stifter bekendtskab med en klasse, som gør det nemt at sende e-mails med vedhæftede filer, uden at skulle anvende det lidt kringlede IMAP-bibliotek.

Ideen er ganske simpel: Vi tilbyder brugeren en række postkortmotiver, som brugeren kan skrive en lille tekst på. Dernæst sender vi billedet af sted med PHP's nemme mail-funktion.

Først præsenterer vi brugeren for en side, hvor der kan vælges et billede og skrives en lille tekst, samt skrives en e-mail-adresse til modtageren. Lad os sige, at formularen, der afsendes til scriptet, indeholder filnavnet på det billede, der skal benyttes, gemt i parameteren $BILLEDFIL, teksten, der skal stå på kortet ligger i parameteren $TEKST, og modtagerens mailadresse i parameteren $MODTAGER.

Posten er på vej

Scriptet er således indrettet: Først importerer vi klassen MIME.class, som håndterer den mail, vi skal sende afsted senere i scriptet. Den kan downloades fra websitet PHP Builder.

<?php

include "MIME.class";

$im = @ImageCreateFromJPEG ($BILLEDFIL);
/* Vi prøver at indlæse filen */
if (!$im) {
  /* Hov, noget gik galt */
  die("Hovsa, kunne ikke åbne billedfilen.");
}

$tc = ImageColorAllocate ($im, 0, 0, 0);

ImageTTFText ($im, 20, 0, 10, 20, $tc,
  "arial.ttf", $TEKST);

Imagejpeg($im,"temp.jpg",75);
ImageDestroy($im);

$mime = new MIME_mail("postkort@minserver.tld",
  $MODTAGER, "En julehilsen!");
$mime->fattach("temp.jpg", "", JPEG, BASE64);
$mime->send_mail();

echo "Posten er på vej!";

?>

Først henter vi billedet ind i variablen $im, og hvis det går galt, sender vi en fejlmeddelelse afsted.

Linien $tc = ImageColorAllocate ($im, 0, 0, 0); definerer en tekstfarve. Her vælger vi RBG-værdien (0,0,0), og det er sort.

Dernæst benyttes funktionen ImageTTFText til at skrive på billedet med. ImageTTFText skriver med truetype-fonte, og her har vi valgt Arial, som vi har kopieret fra C:\WINNT\Fonts, og anbragt i samme mappe som scriptet.

I den næste linie gemmer vi filen under navnet temp.jpg, og frigører billedvariablen $im fra hukommelsen med ImageDestroy.

Så er det blot at benytte funktionerne i MIME-class til at generere og sende vores e-mail afsted med. Den første linie,

$mime = new MIME_mail("postkorttjenesten@minserver.tld", $MODTAGER, "En julehilsen!");

opretter et MIME_mail-objekt, hvor første argument i constructoren er den mail-adresse, som der sendes fra. Det andet argument er modtagerens mailadresse, som vi har modtaget fra formularen på den første side, og det sidste argument er subject-linien i mailen.

Hvis man benytter Windows til at afprøve scripet på, skal man have en mail-server på sin maskine. En lille, nem og gratis mail-server kan downloades fra firmaet Argosoft, og den er god til test-formål.

Læses lige nu

    Annonce

    Navnenyt fra it-Danmark

    Norriq Danmark A/S har pr. 1. juli 2026 ansat Nanna-Louise Aae Kudahl som Project Manager. Hun skal især beskæftige sig med drive vores Business Central-projekter i samarbejde med resten af sine nye kollegaer i ERP. Hun kommer fra en stilling som Product Manager hos KMD A/S. Hun er uddannet på Aalborg Universitet i kommunikation og Digitale Medier og har en kandidat i IT-ledelse. Nyt job

    Nanna-Louise Aae Kudahl

    Norriq Danmark A/S

    Systematic A/S har pr. 1. august 2026 ansat Casper Voldstedlund, 52 år,  som Director, Products. Han skal især beskæftige sig med drive produktudvikling inden for national sikkerhed og kritisk infrastruktur (NSI). Han kommer fra en stilling som Senior Director hos Stibo Systems A/S. Nyt job

    Casper Voldstedlund

    Systematic A/S

    Netip A/S har pr. 1. maj 2026 ansat Peer Leerbæk som Key Account Manager ved netIP's kontor i Herlev. Han kommer fra en stilling som IT-Sikkerhedsrådgiver hos SeeSafe IT. Han har tidligere beskæftiget sig med kunderådgivning og account management bla. som KAM hos Comit gennem godt 4 år. Nyt job

    Peer Leerbæk

    Netip A/S

    Norriq Danmark A/S har pr. 1. juni 2026 ansat Ida Laursen som Junior Consultant. Hun skal især beskæftige sig med at understøtte vores konsulenter med praktiske og analytiske opgaver på diverse kundeprojekter. Hun kommer fra en stilling som Webassistent hos PWT Group A/S. Hun er uddannet bachelor i International Virksomhedskommunikation og er i gang med en kandidat i IT-ledelse. Hun har tidligere beskæftiget sig med kommunikation og webindhold. Nyt job

    Ida Laursen

    Norriq Danmark A/S