Stiahnite si aplikáciu teraz a 10 dní ju testujte zadarmo
Mena Vyberte jazyk Vyberte región

Cieľ tutoriálu

Upozornenie: Tento návod je určený pre vývojárov a ukazuje, ako je možné integrovaný e-mailový systém bluetronix CMS volať priamo pomocou PHP.

bluetronix CMS poskytuje centrálnu PHP funkciu pre odosielanie e-mailov.

Týmto sa vyhnete potrebe znova programovať SMTP pripojenia, e-mailové účty a základné funkcie odosielania pre každý vlastný PHP skript.

Pre priamy odosielanie e-mailov a newsletterov je k dispozícii nasledujúca funkcia:

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

Pre odosielanie formulárových e-mailov je k dispozícii ďalšia funkcia:

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

BlueSMTPMail()

S pomocou BlueSMTPMail() môžete odosielať bežné e-maily a newslettery prostredníctvom centrálného e-mailového systému bluetronix CMS.

Volanie funkcie je:

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

$MailType

Určuje, aký typ e-mailu sa má odoslať.

Možné hodnoty:

Mail
Newsletter

Príklad:

$MailType = "Mail";

alebo:

$MailType = "Newsletter";

$MailAccount

$MailAccount určuje e-mailový účet, ktorého SMTP nastavenia sa použijú.

Pomocou tejto hodnoty sa načítajú príslušné SMTP konfiguračné údaje z databázových tabuliek CMS.

Aká konfigurácia sa použije, závisí aj od $SMTPType.

$SMTPType

Určuje, či sa použije interný alebo externý e-mailový účet.

Možné hodnoty:

Intern
Extern

Interný

Pri:

$SMTPType = "Intern";

sa použije e-mailový účet, ktorý bol priamo nastavený v bluetronix CMS.

Účty sa nachádzajú pod:

Email → Accounts

E-mailová adresa odosielateľa použitá v $From musí byť tam ako účet.

Externý

Pri:

$SMTPType = "Extern";

sa používajú externé SMTP prístupové údaje.

Tieto sú spravované v CMS pod:

Email → Server - Extern

E-mailová adresa odosielateľa použitá v $From musí byť tam správne nastavená.

Odosielateľská adresa použitá v $From musí byť tam nastavená.

$From

Obsahuje e-mailovú adresu odosielateľa.

Príklad:

$From = "info@example.com";

E-mailová adresa musí zodpovedať zvolenej konfigurácii SMTP.

$To

Obsahuje e-mailovú adresu príjemcu bežného e-mailu.

Príklad:

$To = "customer@example.com";

Pri bežnom zasielaní e-mailov sa táto premenná použije ako príjemca.

$NewsletterTo

$NewsletterTo sa používa pri zasielaní newsletterov.

Premenná obsahuje viacero e-mailových adries ako text. Každá e-mailová adresa je oddelená novým riadkom.

Príklad:

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

$Subject

Obsahuje predmet e-mailu.

Príklad:

$Subject = "Welcome to our website";

$TextContent

Obsahuje čistý textový obsah e-mailu.

Táto časť môže byť napríklad použitá e-mailovými programami, ktoré nezobrazujú HTML e-maily.

Príklad:

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

$HTMLContent

Obsahuje HTML časť e-mailu.

Príklad:

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

Pomocou nej je možné posielať formátované e-maily so záhlaviami, textom, odkazmi, obrázkami a ďalšími HTML elementmi.

$Attachments

S $Attachments je možné pripojiť súbory k e-mailu.

Súbory sú uvedené cez ich cestu v rámci webovej stránky.

Príklad:

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

Pri viacerých prílohách sú jednotlivé cesty k súborom oddelené novým riadkom.

Príklad:

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

$EmbedImages

S $EmbedImages sa môže určiť, či sa majú obrázky vložiť priamo do e-mailu.

Príklad:

$EmbedImages = "ja";

Pri aktivovanej možnosti sú obrázky použité v HTML e-maile priamo integrované do e-mailu a nie sú načítané výhradne cez externé URL.

To umožňuje, aby boli obrázky priamo k dispozícii príjemcovi v rámci e-mailu bez potreby ich samostatného načítania z webového servera.

$MailPlaceholderReplacement

S $MailPlaceholderReplacement je možné nahradiť zástupné symboly v:

$TextContent
$HTMLContent

individuálnymi hodnotami.

Princip je:

Search
   ↓
Replace

Týmto spôsobom je možné vytvárať personalizovaný obsah v rámci e-mailu.

Typické možnosti použitia sú:

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

$FormEntry

S $FormEntry sa môže určiť, či má byť zasielanie uložené aj v archíve formulárov.

Pri:

$FormEntry = "JA";

bude tiež pridaný záznam do databázovej tabuľky:

00_form

uložené.

Týmto môže byť odoslanie zároveň zdokumentované ako formulárový alebo archívny záznam.

Príklad: Odoslanie bežného e-mailu

Nasledujúci príklad odosiela bežný HTML a textový e-mail cez interný e-mailový účet.

$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);

Jednoduchý postup je nasledovný:

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

Príklad: Odoslanie newsletteru

Pre newsletter sa nastaví $MailType na:

Newsletter

.

Prijímatelia sa následne predávajú cez $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);

Jednotliví prijímatelia newsletteru sú oddelení novými riadkami v rámci $NewsletterTo.

Použitie externého SMTP pripojenia

Ak sa má použiť externý e-mailový server, nastaví sa:

$SMTPType = "Extern";

.

Prístupové údaje SMTP musia byť najprv nastavené na:

Email → Server - Extern

.

Príklad:

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

BlueFormSend()

Okrem priameho odosielania e-mailov je k dispozícii funkcia:

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

.

Táto funkcia je špeciálne určená na odosielanie e-mailov v súvislosti s formulármi CMS.

Premenné sú už úplne v anglickom písaní.

Parametre funkcie BlueFormSend()

Premenná Použitie
$SMTPType Vyberte interné alebo externé odosielanie SMTP
$SendMail Riadi odosielanie e-mailov formuláru
$SendSubject Predmet e-mailu formulára
$CopyToCustomer Riadi, či zákazník dostane kópiu
$TextToCustomer Text správy pre zákazníka
$FormArchive Riadi archiváciu formulára
$FormID ID príslušného formulára
$SendTo Prijímateľ formulárovej e-mailovej správy

MailCache

Každé volanie BlueSMTPMail() vytvorí ďalší záznam v databázovej tabuľke:

00_MailCache

Pomocou tejto tabuľky môže byť kontrolovaný stav odosielania e-mailov.

Tam môže byť napríklad overené, či bol e-mail úspešne spracovaný alebo odoslaný.

Záznamy MailCache sú pre:

1 Woche

uložené.

Typický priebeh odosielania e-mailu

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

Prehľad parametrov BlueSMTPMail

Premenná Význam
$MailType E-mail alebo newsletter
$MailAccount Používateľský e-mailový účet
$SMTPType Interný alebo externý
$From Adresa odosielateľa
$To Prijímateľ bežného e-mailu
$NewsletterTo Prijímatelia newslettera, oddelení novými riadkami
$Subject Predmet e-mailu
$TextContent Textová časť e-mailu
$HTMLContent HTML časť e-mailu
$Attachments Cestné adresy príloh
$EmbedImages Integrovať obrázky priamo do e-mailu
$MailPlaceholderReplacement Nahradiť zástupné symboly v obsahu e-mailu
$FormEntry Vytvoriť voliteľný záznam v 00_form

Zusammenfassung

Centrálny e-mailový systém bluetronix CMS môže byť vyvolaný priamo z vlastného PHP kódu.

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

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

Pre CMS formy je navyše k dispozícii:

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

Die SMTP-Konfiguration kann entweder über:

Intern
→ Email → Účty

alebo:

Extern
→ Email → Server - Extern

erfolgen.

Každé odoslanie e-mailu je navyše sledované cez:

00_MailCache

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

Týmto spôsobom môžu vývojári používať už existujúci e-mailový systém bluetronix CMS priamo zo svojich PHP skriptov, bez nutnosti implementovať kompletnú SMTP logiku.

Často kladené otázky

čo sa nás zákazníci často pýtajú

Aké funkcie poskytuje centrálne e-mailový systém pre PHP?

Pre bežné e-maily a newslettery použiješ BlueSMTPMail(). Pre odosielanie v spojení s CMS formulármi je navyše k dispozícii BlueFormSend().

Kde nájdem interné e-mailové účty?

Interné e-mailové účty sú nastavené pod Email → Účty. Pre ich odoslanie nastavíš $SMTPType na Intern. Adresa odosielateľa musí patrit k zaregistrovanému účtu.

Ako môžem používať externý SMTP server?

Nastav prístupové údaje pod Email → Server - Extern a použij $SMTPType = "Extern";. Adresa odosielateľa musí zodpovedať vybranej konfigurácii.

Aký je rozdiel medzi e-mailom a newsletterom?

S $MailType = "Mail"; sa odošle bežný e-mail, ktorého príjemca je v $To. Pre newsletter nastavíš $MailType = "Newsletter"; a odovzdáš príjemcov cez $NewsletterTo.

Ako predám viacerých príjemcov newslettera?

Zadaj adresy do $NewsletterTo a oddel každú e-mailovú adresu novým riadkom.

Môžem poslať text a HTML v rovnakom e-maile?

Áno. Čistý text je v $TextContent, zatiaľ čo formátovanú HTML správu odovzdáš cez $HTMLContent.

Ako pridám prílohy do e-mailu?

Cez $Attachments odovzdáš cesty k súborom v rámci webovej stránky. Pri viacerých prílohách sa cesty oddeľujú novými riadkami.

Ako môžem vložiť obrázky priamo do e-mailu?

Šablóna na to používa $EmbedImages = "áno";. Tým sa obrázky použité v HTML správe vložia priamo podľa popísanej funkcie CMS.

Na čo slúži MailPlaceholderReplacement?

S tým môžeš nahradiť zástupné znaky v textovom a HTML obsahu jednotlivými hodnotami, napríklad pre mená, číselné objednávky alebo osobné odkazy. Šablóna popisuje princíp vyhľadávania a nahradzovania, ale žiadny konkrétny formát odovzdania.

Ako archivujem odoslanie ako formulárový záznam?

Nastav pri BlueSMTPMail() hodnotu $FormEntry = "ÁNO";. Podľa šablóny sa potom navyše uloží záznam v 00_form.

Kde si môžem skontrolovať stav odoslania?

Šablóna na to popisuje tabuľku 00_MailCache. Tam vytvorené záznamy o odoslaní sú uložené na týždeň. Záznam o spracovaní sám osebe nie je dodatočným dôkazom o doručení príjemcovi.

Kedy používam BlueFormSend()?

BlueFormSend() je určený na odosielanie e-mailov s CMS formulármi. Parametre zahŕňajú okrem iného riadenie odosielania, predmet, korešpondenciu pre zákazníka, archiváciu formulára a ID formulára.

CMS