Download appen nu og prøv gratis i 10 dage
Valuta Vælg sprog Vælg region

Mål med vejledningen

Bemærkning: Denne tutorial er rettet mod udviklere og viser, hvordan det integrerede mailsystem i bluetronix CMS kan kaldes direkte via PHP.

bluetronix CMS tilbyder centrale PHP-funktioner til e-mail-afsendelse.

Derfor skal SMTP-forbindelser, mail-konti og grundlæggende afsendelsesfunktioner ikke programmeres igen for hvert enkelt PHP-script.

Følgende funktion er tilgængelig til direkte e-mail- og nyhedsbrevsafsendelse:

BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);

Derudover er følgende funktion tilgængelig til afsendelse af formular-e-mails:

BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);

BlueSMTPMail()

Med BlueSMTPMail() kan normale e-mails og nyhedsbreve sendes gennem det centrale mailsystem i bluetronix CMS.

Funktionsopkaldet er:

BlueSMTPMail(
   $MailType,
   $MailAccount,
   $SMTPType,
   $From,
   $To,
   $NewsletterTo,
   $Subject,
   $TextContent,
   $HTMLContent,
   $Attachments,
   $EmbedImages,
   $MailPlaceholderReplacement,
   $FormEntry
);

$MailType

Bestemmer, hvilken type e-mail der skal sendes.

Mulige værdier:

Mail
Newsletter

Eksempel:

$MailType = "Mail";

eller:

$MailType = "Newsletter";

$MailAccount

$MailAccount bestemmer den e-mail-konto, hvis SMTP-indstillinger skal bruges.

Gennem denne værdi hentes de relevante SMTP-konfigurationsdata fra CMS-database-tabellerne.

Hvilken konfiguration der anvendes, afhænger desuden af $SMTPType.

$SMTPType

Bestemmer, om en intern eller ekstern e-mail-konto anvendes.

Mulige værdier:

Intern
Extern

Intern

Ved:

$SMTPType = "Intern";

bruges en e-mail-konto, der er oprettet direkte i bluetronix CMS.

Kontiene findes under:

Email → Accounts

Den afsenderadresse, der bruges i $From, skal være registreret som en konto der.

Ekstern

Ved:

$SMTPType = "Extern";

eksterne SMTP-adgangsdata anvendes.

Disse administreres i CMS under:

Email → Server - Extern

Den afsenderadresse, der bruges i $From, skal være korrekt oprettet der.

Afsenderadressen, der bruges under $From, skal være korrekt konfigureret der.

$From

Indeholder afsenderens e-mailadresse.

Eksempel:

$From = "info@example.com";

E-mailadressen skal matche den valgte SMTP-konfiguration.

$To

Indeholder modtagerens e-mailadresse for en almindelig e-mail.

Eksempel:

$To = "customer@example.com";

Ved almindelig e-mailforsendelse bruges denne variabel som modtager.

$NewsletterTo

$NewsletterTo anvendes ved udsendelse af nyhedsbreve.

Variablen indeholder flere e-mailadresser som tekst. Hver e-mailadresse adskilles af et linjeskift.

Eksempel:

$NewsletterTo = "customer1@example.com\ncustomer2@example.com\ncustomer3@example.com";

$Subject

Indeholder emnet for e-mailen.

Eksempel:

$Subject = "Welcome to our website";

$TextContent

Indeholder den rene tekstdel af e-mailen.

Denne del kan f.eks. anvendes af e-mailprogrammer, der ikke viser HTML-e-mails.

Eksempel:

$TextContent = "Thank you for your request.";

$HTMLContent

Indeholder HTML-delen af e-mailen.

Eksempel:

$HTMLContent = "<h1>Thank you</h1><p>Thank you for your request.</p>";

Dette gør det muligt at sende formaterede e-mails med overskrifter, tekster, links, billeder og andre HTML-elementer.

$Attachments

Med $Attachments kan filer vedhæftes e-mailen.

Filene angives via deres sti inden for websiden.

Eksempel:

$Attachments = "/bx_doc/Intro.pdf";

Ved flere vedhæftede filer adskilles de enkelte filstier af et linjeskift.

Eksempel:

$Attachments = "/bx_doc/Intro.pdf\n/bx_doc/PriceList.pdf";

$EmbedImages

Med $EmbedImages kan det fastlægges, om billeder skal indlejres direkte i e-mailen.

Eksempel:

$EmbedImages = "ja";

Hvis denne mulighed er aktiveret, integreres billederne brugt i HTML-e-mailen direkte i e-mailen og hentes ikke udelukkende via eksterne URL'er.

Det gør det muligt for billederne at være tilgængelige direkte i e-mailen for modtageren, uden at de skal downloades separat fra webserveren.

$MailPlaceholderReplacement

Med $MailPlaceholderReplacement kan pladsholdere inden for:

$TextContent
$HTMLContent

erstattes med individuelle værdier.

Principperne er:

Search
   ↓
Replace

Dette gør det muligt at generere f.eks. personligt tilpasset indhold i en e-mail.

Typiske anvendelsesmuligheder er:

  • Name des Empfängers
  • Kundennummer
  • Bestellnummer
  • individuelle Links
  • weitere dynamische Inhalte

$FormEntry

Med $FormEntry kan det fastlægges, om forsendelsen også skal gemmes i formulararkivet.

Ved:

$FormEntry = "JA";

oprettes desuden en post i databasen:

00_form

gemt.

Dermed kan forsendelsen samtidig dokumenteres som en formular- eller arkivpost.

Eksempel: Afsendelse af almindelig e-mail

Det følgende eksempel sender en normal HTML- og tekst-e-mail via en intern mailkonto.

$MailType                  = "Mail";
$MailAccount               = "info@example.com";
$SMTPType                  = "Intern";
$From                      = "info@example.com";
$To                        = "customer@example.com";
$NewsletterTo              = "";
$Subject                   = "Your request";
$TextContent               = "Thank you for your request.";
$HTMLContent               = "<h1>Thank you</h1><p>Thank you for your request.</p>";
$Attachments               = "/bx_doc/Intro.pdf";
$EmbedImages               = "ja";
$MailPlaceholderReplacement = "";
$FormEntry                 = "NEIN";

BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);

Forløbet er forenklet:

PHP
   ↓
BlueSMTPMail()
   ↓
internen Mail-Account laden
   ↓
SMTP-Verbindung verwenden
   ↓
E-Mail erzeugen
   ↓
E-Mail versenden
   ↓
MailCache-Eintrag erzeugen

Eksempel: Afsendelse af nyhedsbrev

For et nyhedsbrev sættes $MailType til:

Newsletter

sættes.

Modtagerne overgives derefter via $NewsletterTo.

$MailType                  = "Newsletter";
$MailAccount               = "newsletter@example.com";
$SMTPType                  = "Intern";
$From                      = "newsletter@example.com";
$To                        = "";
$NewsletterTo              = "customer1@example.com\ncustomer2@example.com\ncustomer3@example.com";
$Subject                   = "Our latest news";
$TextContent               = "Discover our latest news and products.";
$HTMLContent               = "<h1>Our latest news</h1><p>Discover our latest news and products.</p>";
$Attachments               = "";
$EmbedImages               = "ja";
$MailPlaceholderReplacement = "";
$FormEntry                 = "NEIN";

BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);

De enkelte nyhedsbrevmodtagere adskilles inden for $NewsletterTo med linjeskift.

Brug ekstern SMTP-forbindelse

Hvis en ekstern mailserver skal bruges, sættes:

$SMTPType = "Extern";

sættes.

SMTP-adgangsoplysningerne skal være oprettet under:

Email → Server - Extern

sat op.

Eksempel:

$SMTPType    = "Extern";
$From        = "mail@external-domain.com";
$MailAccount = "mail@external-domain.com";

BlueFormSend()

Ud over den direkte mailforsendelse er funktionen:

BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);

tilgængelig.

Denne funktion er specielt beregnet til e-mailforsendelse i forbindelse med CMS-formularer.

Variablerne er allerede helt på engelsk.

Parametre for BlueFormSend()

Variabel Anvendelse
$SMTPType Vælg intern eller ekstern SMTP-forsendelse
$SendMail Styrer mailforsendelsen af formularen
$SendSubject Emne for formular-e-mailen
$CopyToCustomer Styrer, om kunden modtager en kopi
$TextToCustomer Tekst til besked til kunden
$FormArchive Styrer arkivering af formularen
$FormID ID for den pågældende formular
$SendTo Modtager af formular-e-mailen

MailCache

Hvert kald af BlueSMTPMail() genererer desuden en post i databasetabellen:

00_MailCache

Gennem denne tabel kan status for e-mail afsendelsen kontrolleres.

Her kan man eksempelvis tjekke, om en e-mail er blevet behandlet eller sendt successfully.

MailCache-posterne er til:

1 Woche

gemt.

Typisk forløb for en mailforsendelse

PHP-Skript
   ↓
BlueSMTPMail()
   ↓
MailType prüfen
   ↓
MailAccount auswählen
   ↓
SMTPType prüfen
   ↓
SMTP-Konfiguration laden
   ↓
Empfänger bestimmen
   ↓
Text- und HTML-Inhalt erstellen
   ↓
Platzhalter ersetzen
   ↓
Anhänge hinzufügen
   ↓
Bilder gegebenenfalls einbetten
   ↓
E-Mail versenden
   ↓
00_MailCache aktualisieren
   ↓
optional 00_form speichern

Oversigt over BlueSMTPMail-parametre

Variabel Betydning
$MailType Mail eller nyhedsbrev
$MailAccount Mail-konto der skal bruges
$SMTPType Intern eller ekstern
$From Afsenderadresse
$To Modtager af en almindelig e-mail
$NewsletterTo Nyhedsbrevsmodtagere, adskilt af linjeskift
$Subject E-mail-emne
$TextContent Tekstdel af e-mailen
$HTMLContent HTML-del af e-mailen
$Attachments Filstier til vedhæftede filer
$EmbedImages Integrer billeder direkte i e-mailen
$MailPlaceholderReplacement Erstat pladsholdere inden for mailindholdet
$FormEntry Generer valgfri indtastning i 00_form

Zusammenfassung

Det centrale mailsystem i bluetronix CMS kan kaldes direkte fra egen PHP-kode.

Für normalen E-Mail- und Newsletter-Versand wird verwendet:

BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);

Til CMS-formularer er der desuden tilgængeligt:

BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);

Die SMTP-Konfiguration kann entweder über:

Intern
→ E-mail → Konti

eller:

Extern
→ Email → Server - Extern

erfolgen.

Hver e-mailafsendelse bliver desuden registreret via:

00_MailCache

protokolliert. Die entsprechenden Cache-Einträge bleiben eine Woche erhalten.

Hermed kan udviklere bruge det allerede eksisterende mailsystem i bluetronix CMS direkte fra egne PHP-scripter, uden at skulle implementere hele SMTP-logikken selv.

FAQ

hvad kunder ofte spørger os

Hvilke funktioner tilbyder det centrale mailsystem for PHP?

Til almindelige e-mails og nyhedsbreve bruger du BlueSMTPMail(). Til afsendelse i forbindelse med CMS-formularer er BlueFormSend() også til rådighed.

Hvor finder jeg de interne e-mailkonti?

Interne mailkonti oprettes under E-mail → Konti. For deres afsendelse indstiller du $SMTPType til Intern. Afsenderadressen skal tilhøre en oprettet konto.

Hvordan bruger jeg en ekstern SMTP-server?

Opret adgangsoplysninger under E-mail → Server - Ekstern og brug $SMTPType = "Ekstern";. Afsenderadressen skal matche den valgte konfiguration.

Hvad er forskellen mellem mail og nyhedsbrev?

Med $MailType = "Mail"; sendes en normal e-mail, hvis modtager er angivet i $To. For et nyhedsbrev sætter du $MailType = "Newsletter"; og overfører modtagerne gennem $NewsletterTo.

Hvordan overfører jeg flere nyhedsbrevmottagere?

Indtast adresserne i $NewsletterTo og adskil hver e-mailadresse med et linjeskift.

Kan jeg sende tekst og HTML i den samme e-mail?

Ja. Ren tekst står i $TextContent, mens du overfører den formaterede HTML-besked gennem $HTMLContent.

Hvordan tilføjer jeg vedhæftede filer til en e-mail?

Gennem $Attachments overfører du filstier inden for websitet. Ved flere vedhæftede filer adskilles stierne med linjeskift.

Hvordan kan jeg indlejre billeder direkte i en e-mail?

Skabelonen bruger $EmbedImages = "ja"; til dette. Det sikrer, at de billeder, der bruges i HTML-beskeden, indlejres direkte efter den beskrevne CMS-funktion.

Hvad bruges MailPlaceholderReplacement til?

Med dette kan du erstatte pladsholdere i tekst- og HTML-indholdet med individuelle værdier, for eksempel for navne, ordrenumre eller personlige links. Skabelonen beskriver søg-og-erstat-princippet, men ikke noget konkret overførselsformat.

Hvordan arkiverer jeg forsendelsen som en formularindgang?

Sæt værdien $FormEntry = "JA"; i BlueSMTPMail(). Ifølge skabelonen gemmes der derefter også en post i 00_form.

Hvor kan jeg tjekke forsendelsesstatus?

Skabelonen beskriver tabellen 00_MailCache til dette. De forsendelsesposter, der oprettes der, gemmes i en uge. En behandlingspost alene er ikke et supplement til beviset for levering til modtageren.

Hvornår bruger jeg BlueFormSend()?

BlueFormSend() er beregnet til e-mail-forsendelse med CMS-formularer. Parametrene omfatter blandt andet forsendelseskontrol, emne, kundekopi, formulararkiv og formular-ID.

CMS