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.

Københavns Universitet

Identity management specialist

Københavnsområdet

Politiets Efterretningstjeneste

Sektionsleder til IT-afdelingen i PET

Københavnsområdet

Politiets Efterretningstjeneste

SOC-analytikere i PET

Københavnsområdet

KMD A/S

Teknisk Projektleder

Midtjylland

Event: SAP Excellence Day 2026

It-løsninger | Nordhavn

Få konkrete erfaringer med S/4HANA, automatisering og AI i praksis. Hør hvordan danske virksomheder realiserer gevinster og etablerer effektive SAP-løsninger. Vælg fysisk deltagelse hos SAP eller deltag digitalt.

24. februar 2026 | Gratis deltagelse

Navnenyt fra it-Danmark

Forte Advice har pr. 5. januar 2026 ansat Claes Frederiksen som Commercial Director. Claes skal især beskæftige sig med at løfte den kommercielle modenhed i teknologiprojekter og sikre, at teknologi bliver brugt som strategisk løftestang. Claes kommer fra en stilling som Senior Client Partnership Director, Nordics hos Valtech. Claes har tidligere beskæftiget sig med teknologivalg og platformstrategi til teknologidrevet forretningsudvikling og marketing initiativer. Nyt job

Claes Frederiksen

Forte Advice

Idura har pr. 1. januar 2026 ansat Lars Mørch, 54 år,  som VP of Sales. Han skal især beskæftige sig med Iduras salgsorganisation, implementere en ny go-to-market-model og sikre udviklingen af virksomhedens identitetsplatform. Han kommer fra en stilling som Regional Vice President hos Avallone. Han er uddannet på CBS og har en BA i Organization & Innovation. Han har tidligere beskæftiget sig med internationalt SaaS-salg og forretningsudvikling fra både scale-ups og globale teknologivirksomheder. Nyt job

Lars Mørch

Idura

Adeno K/S har pr. 2. februar 2026 ansat Rikke Badsberg som ServiceNow Specialist. Hun kommer fra en stilling som ServiceNow administrator and developer hos Kamstrup. Nyt job

Rikke Badsberg

Adeno K/S

Circle Of Bytes ApS har pr. 1. maj 2025 ansat Jeanette Kristiansen som Account Manager. Hun skal især beskæftige sig med at opbygge og styrke relationer til kunder og samarbejdspartnere, samt sikre det rette match mellem kunder og konsulenter. Nyt job

Jeanette Kristiansen

Circle Of Bytes ApS