Anropa mail-systemet via PHP
I den här guiden lär du dig parametrarna för BlueSMTPMail() och BlueFormSend(), ställer in intern eller extern utsändning och får veta hur bilagor, HTML-innehåll och utskriftsprotokoll hanteras.
Målet med guiden
Observera: Denna handledning riktar sig till utvecklare och visar hur det inbyggda mail-systemet i bluetronix CMS kan anropas direkt via PHP.
bluetronix CMS tillhandahåller centrala PHP-funktioner för e-postutskick.
Därmed behöver SMTP-anslutningar, mail-konton och grundläggande utskickfunktioner inte programmeras på nytt för varje eget PHP-skript.
För direkt e-post- och nyhetsbrevsutskick finns följande funktion tillgänglig:
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);
För utskick av formulär-e-post finns dessutom följande funktion tillgänglig:
BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);
BlueSMTPMail()
Med BlueSMTPMail() kan vanliga e-postmeddelanden och nyhetsbrev skickas via det centrala mail-systemet i bluetronix CMS.
Funktionsanropet lyder:
BlueSMTPMail(
$MailType,
$MailAccount,
$SMTPType,
$From,
$To,
$NewsletterTo,
$Subject,
$TextContent,
$HTMLContent,
$Attachments,
$EmbedImages,
$MailPlaceholderReplacement,
$FormEntry
);
$MailType
Bestämmer vilken typ av e-post som ska skickas.
Möjliga värden:
Mail
Newsletter
Exempel:
$MailType = "Mail";
eller:
$MailType = "Newsletter";
$MailAccount
$MailAccount bestämmer vilket e-postkonto vars SMTP-inställningar ska användas.
Genom detta värde laddas motsvarande SMTP-konfigurationsdata från CMS-databasens tabeller.
Vilken konfiguration som används beror även på $SMTPType.
$SMTPType
Bestämmer om ett internt eller externt e-postkonto används.
Möjliga värden:
Intern
Extern
Internt
Vid:
$SMTPType = "Intern";
ett e-postkonto används som har konfigurerats direkt i bluetronix CMS.
Kontona finns under:
Email → Accounts
Den avsändaradress som används under $From måste finnas som ett konto där.
Externt
Vid:
$SMTPType = "Extern";
externa SMTP-inloggningsuppgifter används.
Dessa hanteras i CMS under:
Email → Server - Extern
.
Den avsändaradress som används under $From måste vara korrekt konfigurerad där.
$From
Innehåller avsändarens e-postadress.
Exempel:
$From = "info@example.com";
E-postadressen måste motsvara den valda SMTP-konfigurationen.
$To
Innehåller mottagarens e-postadress för ett vanligt e-postmeddelande.
Exempel:
$To = "customer@example.com";
Vid vanlig e-postleverans används denna variabel som mottagare.
$NewsletterTo
$NewsletterTo används vid utskick av nyhetsbrev.
Variabeln innehåller flera e-postadresser som text. Varje e-postadress separeras av ett radbryt.
Exempel:
$NewsletterTo = "customer1@example.com\ncustomer2@example.com\ncustomer3@example.com";
$Subject
Innehåller ämnet för e-postmeddelandet.
Exempel:
$Subject = "Welcome to our website";
$TextContent
Innehåller den rena textdelen av e-postmeddelandet.
Denna del kan till exempel användas av e-postprogram som inte visar HTML-e-post.
Exempel:
$TextContent = "Thank you for your request.";
$HTMLContent
Innehåller HTML-delen av e-postmeddelandet.
Exempel:
$HTMLContent = "<h1>Thank you</h1><p>Thank you for your request.</p>";
Detta möjliggör att formaterade e-postmeddelanden med rubriker, texter, länkar, bilder och andra HTML-element kan skickas.
$Attachments
Med $Attachments kan filer bifogas e-postmeddelandet.
Filerna anges via sökvägen inom webbplatsen.
Exempel:
$Attachments = "/bx_doc/Intro.pdf";
Vid flera bifogade filer separeras de individuella filvägarna med ett radbryt.
Exempel:
$Attachments = "/bx_doc/Intro.pdf\n/bx_doc/PriceList.pdf";
$EmbedImages
Med $EmbedImages kan det fastställas om bilder ska bäddas in direkt i e-postmeddelandet.
Exempel:
$EmbedImages = "ja";
Vid aktiverad alternativ kommer bilderna som används inom HTML-e-postmeddelandet att integreras direkt i e-postmeddelandet och inte enbart laddas via externa URL:er.
Därmed kan bilderna vara direkt tillgängliga för mottagaren inom e-postmeddelandet utan att de först måste hämtas separat från webbservern.
$MailPlaceholderReplacement
Med $MailPlaceholderReplacement kan platshållare inom:
$TextContent
$HTMLContent
ersättas med individuella värden.
Principen är följande:
Search
↓
Replace
Därmed kan till exempel personligt anpassat innehåll skapas inom ett e-postmeddelande.
Typiska användningsområden är:
- Name des Empfängers
- Kundennummer
- Bestellnummer
- individuelle Links
- weitere dynamische Inhalte
$FormEntry
Med $FormEntry kan det fastställas om utskicket även ska sparas i formulärarkivet.
Vid:
$FormEntry = "JA";
sparas dessutom en post i databastabellen:
00_form
sparas.
Detta gör att leveransen kan dokumenteras som en formulär- eller arkivpost.
Exempel: Skicka vanlig e-post
Följande exempel skickar ett vanligt HTML- och text-e-postmeddelande via ett internt e-postkonto.
$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);
Förenklat ser proceduren ut så här:
PHP
↓
BlueSMTPMail()
↓
internen Mail-Account laden
↓
SMTP-Verbindung verwenden
↓
E-Mail erzeugen
↓
E-Mail versenden
↓
MailCache-Eintrag erzeugen
Exempel: Skicka nyhetsbrev
För ett nyhetsbrev ställs $MailType in på:
Newsletter
anges.
Mottagarna överlämnas sedan 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 enskilda nyhetsbrevmottagarna separeras inom $NewsletterTo med radbrytningar.
Använd extern SMTP-anslutning
Om en extern e-postserver ska användas, ställs:
$SMTPType = "Extern";
anges.
SMTP-inloggningsuppgifterna måste tidigare ha konfigurerats under:
Email → Server - Extern
vara inställda.
Exempel:
$SMTPType = "Extern";
$From = "mail@external-domain.com";
$MailAccount = "mail@external-domain.com";
BlueFormSend()
Utöver den direkta e-postleveransen finns funktionen:
BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);
tillgänglig.
Denna funktion är speciellt avsedd för e-postleverans i samband med CMS-formulär.
Variablerna är redan helt skrivna på engelska.
Parametrar för BlueFormSend()
| Variabel | Användning |
|---|---|
$SMTPType |
Välj intern eller extern SMTP-leverans |
$SendMail |
Styr e-postleveransen av formuläret |
$SendSubject |
Ämnet för formulärets e-post |
$CopyToCustomer |
Styr om kunden får en kopia |
$TextToCustomer |
Text för meddelandet till kunden |
$FormArchive |
Styr arkivering av formuläret |
$FormID |
ID för det aktuella formuläret |
$SendTo |
Mottagare av formuläre-post |
MailCache
Varje anrop av BlueSMTPMail() skapar dessutom en post i databasens tabell:
00_MailCache
Genom denna tabell kan statusen för e-postsändningen kontrolleras.
Där kan man exempelvis kontrollera om en e-post har behandlats eller skickats framgångsrikt.
MailCache-posterna används för:
1 Woche
sparas.
Typisk process för e-postutsändning
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
Översikt över BlueSMTPMail-parametrar
| Variabel | Betydelse |
|---|---|
$MailType |
E-post eller nyhetsbrev |
$MailAccount |
E-postkonto som ska användas |
$SMTPType |
Intern eller extern |
$From |
Avsändaradress |
$To |
Mottagare av en vanlig e-post |
$NewsletterTo |
Nyhetsbrevmottagare, åtskilda med radbrytningar |
$Subject |
E-postens ämnesrad |
$TextContent |
Textdel av e-posten |
$HTMLContent |
HTML-del av e-posten |
$Attachments |
Filvägar för bilagor |
$EmbedImages |
Integrera bilder direkt i e-posten |
$MailPlaceholderReplacement |
Ersätta platshållare i e-postinnehållet |
$FormEntry |
Skapa valfri post i 00_form |
Zusammenfassung
Det centrala e-postsystemet i bluetronix CMS kan anropas direkt från egen PHP-kod.
Für normalen E-Mail- und Newsletter-Versand wird verwendet:
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);
För CMS-formulär finns dessutom tillgängligt:
BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);
Die SMTP-Konfiguration kann entweder über:
Intern
→ E-post → Konton
eller:
Extern
→ Email → Server - Extern
erfolgen.
Varje e-postutskick registreras dessutom via:
00_MailCache
protokolliert. Die entsprechenden Cache-Einträge bleiben eine Woche erhalten.
Detta gör det möjligt för utvecklare att använda det befintliga e-postsystemet i bluetronix CMS direkt från sina egna PHP-skript, utan att behöva implementera hela SMTP-logiken själva.
FAQ
vad kunder ofta frågar oss
Vilka funktioner erbjuder det centrala e-postsystemet för PHP?
För vanliga e-postmeddelanden och nyhetsbrev använder du BlueSMTPMail(). För utskick i samband med CMS-formulär finns dessutom BlueFormSend() tillgängligt.
Var hittar jag de interna e-postkontona?
Interna e-postkonton anges under E-post → Konton. För deras utskick ställer du in $SMTPType på Intern. Avsändaradressen måste tillhöra ett skapat konto.
Hur använder jag en extern SMTP-server?
Ställ in accessdata under E-post → Server - Extern och använd $SMTPType = "Extern";. Avsändaradressen måste passa den valda konfigurationen.
Vad är skillnaden mellan e-post och nyhetsbrev?
Med $MailType = "Mail"; skickas ett vanligt e-postmeddelande vars mottagare anges i $To. För ett nyhetsbrev sätter du $MailType = "Newsletter"; och överför mottagarna via $NewsletterTo.
Hur överlämnar jag flera nyhetsbrevmottagare?
Ange adresserna i $NewsletterTo och separera varje e-postadress med ett radbryt.
Kan jag skicka text och HTML i samma e-post?
Ja. Ren text finns i $TextContent, medan du överlämnar det formaterade HTML-meddelandet via $HTMLContent.
Hur lägger jag till bilagor i ett e-postmeddelande?
Genom $Attachments anger du filvägar inom webbplatsen. Vid flera bilagor separeras vägarna med radbryt.
Hur kan jag bädda in bilder direkt i ett e-postmeddelande?
Mallen använder $EmbedImages = "ja"; för detta. Detta gör att bilderna som används i HTML-meddelandet bäddas in direkt enligt den beskrivna CMS-funktionen.
Vad används MailPlaceholderReplacement till?
Genom detta kan du ersätta platshållare i text- och HTML-innehållet med individuella värden, till exempel för namn, beställningsnummer eller personliga länkar. Mallen beskriver sök-och-ersätt-principen, men inget specifikt överlämningsformat.
Hur arkiverar jag utskicket som en formulärpost?
Ställ in värdet $FormEntry = "JA"; i BlueSMTPMail(). Enligt mallen sparas då en post i 00_form.
Var kan jag kontrollera utskicksstatus?
Mallen beskriver tabellen 00_MailCache för detta. Utskriftsanteckningarna som skapas där sparas i en vecka. En behandlingspost är dock inte ett ytterligare bevis för leverans till mottagaren.
När använder jag BlueFormSend()?
BlueFormSend() är avsedd för e-postutskick med CMS-formulär. Parametrarna inkluderar bland annat utskottskontroll, ämne, kundkopior, formulärarkiv och formulär-ID.