Stáhněte si aplikaci nyní a vyzkoušejte zdarma na 10 dní
Měna Vybrat jazyk Vybrat oblast

Cíl tutoriálu

Poznámka: Tento návod je určen pro vývojáře a ukazuje, jak lze integrovaný e-mailový systém bluetronix CMS volat přímo pomocí PHP.

bluetronix CMS poskytuje centrální PHP funkce pro odesílání e-mailů.

Díky tomu není potřeba pro každé vlastní PHP skript znovu programovat SMTP připojení, e-mailové účty a základní funkce odesílání.

Pro přímé odesílání e-mailů a newsletterů je k dispozici následující funkce:

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

Pro odesílání e-mailů z formulářů je k dispozici další funkce:

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

BlueSMTPMail()

Pomocí BlueSMTPMail() lze odesílat běžné e-maily a newslettery prostřednictvím centrálního e-mailového systému bluetronix CMS.

Volání funkce je:

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

$MailType

Určuje, jaký typ e-mailu má být odeslán.

Možné hodnoty:

Mail
Newsletter

Příklad:

$MailType = "Mail";

nebo:

$MailType = "Newsletter";

$MailAccount

$MailAccount určuje e-mailový účet, jehož SMTP nastavení budou použita.

Pomocí této hodnoty se načtou příslušné SMTP konfigurační údaje z databázových tabulek CMS.

Jaká konfigurace bude použita, závisí také na $SMTPType.

$SMTPType

Určuje, zda se použije interní nebo externí e-mailový účet.

Možné hodnoty:

Intern
Extern

Interní

Při:

$SMTPType = "Intern";

se používá e-mailový účet, který byl přímo nastaven v bluetronix CMS.

Účty se nacházejí na:

Email → Accounts

Odesílatelská adresa použitá pod $From musí být tam jako účet přítomna.

Externí

Při:

$SMTPType = "Extern";

se používají externí SMTP přihlašovací údaje.

Tyto se spravují v CMS na:

Email → Server - Extern

Odesílatelská adresa použitá pod $From musí být tam odpovídajícím způsobem nastavena.

Odesílací adresa použitá v $From musí být řádně nastavena.

$From

Obsahuje e-mailovou adresu odesílatele.

Příklad:

$From = "info@example.com";

E-mailová adresa musí odpovídat zvolené SMTP konfiguraci.

$To

Obsahuje e-mailovou adresu příjemce normálního e-mailu.

Příklad:

$To = "customer@example.com";

Při běžném odesílání e-mailu se tato proměnná používá jako příjemce.

$NewsletterTo

$NewsletterTo se používá při rozesílání newsletteru.

Proměnná obsahuje více e-mailových adres jako text. Každá e-mailová adresa je oddělena novým řádkem.

Příklad:

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

$Subject

Obsahuje předmět e-mailu.

Příklad:

$Subject = "Welcome to our website";

$TextContent

Obsahuje prostou textovou část e-mailu.

Tato část může být například využita e-mailovými programy, které nezobrazují HTML e-maily.

Příklad:

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

$HTMLContent

Obsahuje HTML část e-mailu.

Příklad:

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

S tímto lze posílat formátované e-maily se záhlavím, texty, odkazy, obrázky a dalšími HTML prvky.

$Attachments

S $Attachments lze k e-mailu připojit soubory.

Soubory jsou určeny jejich cestou na webové stránce.

Příklad:

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

Při více přílohách jsou jednotlivé cesty k souborům odděleny novým řádkem.

Příklad:

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

$EmbedImages

S $EmbedImages lze určit, zda mají být obrázky přímo vloženy do e-mailu.

Příklad:

$EmbedImages = "ja";

Při aktivované možnosti se obrázky použité v HTML e-mailu integrují přímo do e-mailu a nejsou načítány pouze přes externí URL.

Díky tomu mohou být obrázky u příjemce k dispozici přímo v e-mailu, aniž by musely být nejprve načteny odděleně z webového serveru.

$MailPlaceholderReplacement

S $MailPlaceholderReplacement lze nahradit zástupce uvnitř:

$TextContent
$HTMLContent

individuálními hodnotami.

Princip je:

Search
   ↓
Replace

Díky tomu lze například generovat personalizovaný obsah uvnitř e-mailu.

Typické možnosti použití jsou:

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

$FormEntry

S $FormEntry lze určit, zda má být odeslání také uloženo do archivu formulářů.

Při:

$FormEntry = "JA";

bude navíc zaznamenáno v databázové tabulce:

00_form

uloženo.

Tímto může být odeslání současně zdokumentováno jako formulářový nebo archivní záznam.

Příklad: Odesílání běžné e-mailové zprávy

Následující příklad odesílá běžný HTML a textový e-mail přes 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);

Jednodušeně řečeno, průběh je následující:

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

Příklad: Odesílání newsletteru

Pro newsletter je $MailType nastaven na:

Newsletter

nastaveno.

Příjemci jsou následně předání přes $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í příjemci newsletteru jsou v rámci $NewsletterTo odděleni novými řádky.

Použití externí SMTP spojení

Pokud má být použit externí e-mailový server, bude:

$SMTPType = "Extern";

nastaveno.

SMTP přihlašovací údaje musí být dříve nastaveny pod:

Email → Server - Extern

byly nastaveny.

Příklad:

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

BlueFormSend()

Kromě přímého odesílání e-mailů je k dispozici funkce:

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

.

Tato funkce je speciálně určena pro odesílání e-mailů ve spojení s CMS formuláři.

Proměnné jsou již plně ve psané angličtině.

Parametry funkce BlueFormSend()

Proměnná Použití
$SMTPType Vyberte interní nebo externí SMTP odesílání
$SendMail Řídí odesílání e-mailu formuláře
$SendSubject Předmět e-mailu formuláře
$CopyToCustomer Řídí, zda zákazník obdrží kopii
$TextToCustomer Text pro zprávu zákazníkovi
$FormArchive Řídí archivaci formuláře
$FormID ID příslušného formuláře
$SendTo Příjemce e-mailu z formuláře

MailCache

Každé zavolání BlueSMTPMail() vytvoří navíc záznam v databázové tabulce:

00_MailCache

Pomocí této tabulky lze sledovat stav odesílání e-mailu.

Zde lze například zkontrolovat, zda byl e-mail úspěšně zpracován nebo odeslán.

Záznamy MailCache se používají pro:

1 Woche

uloženo.

Typický průběh odesílání 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

Přehled parametrů BlueSMTPMail

Proměnná Význam
$MailType E-mail nebo newsletter
$MailAccount Účet pro e-mail
$SMTPType Interní nebo externí
$From Adresa odesílatele
$To Příjemce běžného e-mailu
$NewsletterTo Příjemce newsletteru, oddělené novými řádky
$Subject Předmět e-mailu
$TextContent Textová část e-mailu
$HTMLContent HTML část e-mailu
$Attachments Cesty k přílohám
$EmbedImages Integrace obrázků přímo do e-mailu
$MailPlaceholderReplacement Nahrazení zástupných znaků v obsahu e-mailu
$FormEntry Vytvoření volného záznamu v 00_form

Zusammenfassung

Centrální e-mailový systém bluetronix CMS může být volán přímo 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);

Pro formuláře CMS je k dispozici navíc:

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

Die SMTP-Konfiguration kann entweder über:

Intern
→ E-mail → Účty

nebo:

Extern
→ Email → Server - Extern

erfolgen.

Každé odeslání e-mailu je navíc přes:

00_MailCache

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

Tímto způsobem mohou vývojáři používat již existující e-mailový systém bluetronix CMS přímo z vlastních PHP skriptů, aniž by museli implementovat celou logiku SMTP.

Často kladené otázky

co se nás zákazníci často ptají

Jaké funkce centrální e-mailový systém poskytuje pro PHP?

Pro běžné e-maily a newslettery použij BlueSMTPMail(). Pro odesílání ve spojení s formuláři CMS je navíc k dispozici BlueFormSend().

Kde najdu interní e-mailové účty?

Interní e-mailové účty jsou nastaveny pod E-mail → Účty. Pro jejich odesílání nastav $SMTPType na Intern. Odesílatelská adresa musí patřit k nastavenému účtu.

Jak použít externí SMTP server?

Nastav přihlašovací údaje pod E-mail → Server - Externí a použij $SMTPType = "Extern";. Odesílatelská adresa musí odpovídat zvolené konfiguraci.

Jaký je rozdíl mezi e-mailem a newsletterem?

S $MailType = "Mail"; se odešle běžný e-mail, jehož příjemce je uveden v $To. Pro newsletter nastavíš $MailType = "Newsletter"; a předáš příjemce přes $NewsletterTo.

Jak mohu předat více příjemců newsletteru?

Zadej adresy do $NewsletterTo a odděl každou e-mailovou adresu novým řádkem.

Mohu posílat text a HTML v jednom e-mailu?

Ano. Čistý text je v $TextContent, zatímco formátovanou HTML zprávu předáš přes $HTMLContent.

Jak mohu k e-mailu přidat přílohy?

Pomocí $Attachments předáš cesty k souborům na webové stránce. U více příloh se cesty oddělují novými řádky.

Jak mohu vložit obrázky přímo do e-mailu?

Šablona používá $EmbedImages = "ano";. Tím se obrázky použité v HTML zprávě přímo vloží podle popsané funkce CMS.

K čemu se používá MailPlaceholderReplacement?

S tímto funkce můžeš nahradit zástupné symboly v textovém a HTML obsahu individuálními hodnotami, například pro jména, čísla objednávek nebo osobní odkazy. Šablona popisuje princip vyhledávání a nahrazování, ale nekonkrétní formát předání.

Jak archivovat odeslání navíc jako formulářový záznam?

Nastav u BlueSMTPMail() hodnotu $FormEntry = "ANO";. Podle šablony se pak navíc uloží záznam do 00_form.

Kde mohu zkontrolovat stav odeslání?

Šablona popisuje tabulku 00_MailCache. Odesílací záznamy tam budou uloženy po dobu jednoho týdne. Záznam o zpracování sám o sobě není dodatečným důkazem o doručení příjemci.

Kdy mám použít BlueFormSend()?

BlueFormSend() je určeno pro odesílání e-mailů s formuláři CMS. Mezi parametry patří mimo jiné řízení odesílání, předmět, kopie pro zákazníka, archiv formulářů a ID formuláře.

CMS