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
    Computerworld Events

    Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

    Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
    Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
    Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
    Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

    Sikkerhed | Højbjerg, Aarhus

    Cyber Security Summit 2026 - Aarhus

    Lær om organisationers evne til at modstå, håndtere og komme videre efter alvorlige digitale hændelser, herunder ledelsesansvar, forretningskritiske afhængigheder og de valg, der afgør, om plan B holder, når systemer eller leverandører svigter.

    Digital transformation | Aarhus

    AI i det offentlige - Aarhus

    Hør hvordan offentlige AI-løsninger skaleres til stabil drift med reel effekt. Få erfaringer, arkitekturvalg og styringsgreb fra frontløbere. Lær at bygge fælles AI-infrastruktur med ansvarlighed, sikkerhed og compliance.

    Digital transformation | Køge

    Derfor skal du videre fra Dynamics AX – og sådan gør du

    Computerworld giver klar viden om vejen videre fra Dynamics AX. Du ser forskellen mellem AX og moderne cloud-ERP og får et konkret beslutningsgrundlag for næste skridt. Tilmeld dig og få styr på skiftet til Dynamics 365 FO eller BC.

    Se alle vores events inden for it

    Navnenyt fra it-Danmark

    Pinksky ApS har pr. 1. maj 2026 ansat Dan Toft, 29 år,  som Rådgivende konsulent, Partner. Han skal især beskæftige sig med digitalisering med Microsoftplatformen. Han kommer fra en stilling som Microsoft 365 & SharePoint Specialist hos Evobis ApS. Han er uddannet datamatiker. Han har tidligere beskæftiget sig med Microsoft 365 og SharePoint udvikling. Nyt job

    Dan Toft

    Pinksky ApS

    Lauren De Ventura,  emagine Expertise A/S, er pr. 1. juli 2026 udnævnt som Chief People Officer, fast del af den globale ledelse og bestyrelsesmedlem. Hun er uddannet HR-ledelse på tværs af konsulent-, staffing- og IT-branchen. Hun beskæftiger sig med skabe rammerne for emagine som et sted, hvor IT-talenter kan opbygge meningsfulde karrierer. Udnævnelse

    Lauren De Ventura

    emagine Expertise A/S

    IFS Danmark A/S har pr. 1. april 2026 ansat Sarah Warm som Account Executive, Energy & Utilities. Hun skal især beskæftige sig med salg af IFS' løsninger til nye kunder inden for energibranchen. Hun kommer fra en stilling som Account Executive hos Synergy Investment Group i Holland. Hun er uddannet BSc Economics and Business Economics, Neuroscience & MSc Business Administration Digital Business. Hun har tidligere beskæftiget sig med Solution Sales & Cybersecurity. Nyt job

    Sarah Warm

    IFS Danmark A/S

    SAP SuccessFactors Partner Pentos har pr. 1. marts 2026 ansat Plamena Cherneva som Seniorkonsulent indenfor SuccessFactors HCM. Hun skal især beskæftige sig med konfiguration og opsætning af SuccessFactors suiten, samt udvikle smarte løsninger til mellemstore danske virksomheder. Hun kommer fra en stilling som løsningsarkitekt indenfor HR IT hos LEO Pharma. Hun har tidligere beskæftiget sig med HR procesdesign, stamdata og onboarding. Nyt job

    Plamena Cherneva

    SAP SuccessFactors Partner Pentos