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.




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
Also A/S
Salg af serviceydelser inden for logistik, finansiering, fragt og levering, helhedsløsninger, digitale tjenester og individuelle it-løsninger.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
AI i det offentlige: Potentiale, erfaringer og krav

Hør erfaringerne med at anvende AI til at transformere og effektivisere processer i det offentlige – og med at sikre datakvalitet, governance og overholdelse af retningslinjer.

27. august 2025 | Læs mere


Computerworld Cloud & AI Festival 2025

Med den eksplosive udvikling indenfor cloud & AI er behovet for at følge med og vidensdeling større end nogensinde før. Glæd dig til to dage, hvor du kan netværke med over 2.400 it-professionelle, møde mere end 50 it-leverandører og høre indlæg fra +90 talere. Vi sætter fokus på emner som AI; infrastruktur, compliance, sikkerhed og løsninger for både private og offentlige organisationer.

17. september 2025 | Læs mere


IT og OT i harmoni: Sikring uden at gå på kompromis med effektiviteten

IT og OT smelter sammen – men med risiko for dyre fejl. Få metoder til sikker integration med ERP, kundesystemer og produktion. Tilmeld dig og få styr på forskellene og faldgruberne.

24. september 2025 | Læs mere