E-mail rendszer hívása PHP-n keresztül
Ebben a tutoriálban megismered a BlueSMTPMail() és BlueFormSend() paramétereit, beállítod a belső vagy külső küldést, és megtudod, hogyan kezeljük a mellékleteket, HTML tartalmakat és küldési protokollokat.
A tutoriál célja
Megjegyzés: Ez a útmutató fejlesztőknek szól, és azt mutatja be, hogyan hívható meg a bluetronix CMS beépített levelezőrendszere közvetlenül PHP-n keresztül.
A bluetronix CMS központi PHP-funkciókat biztosít az E-mail küldéséhez.
Ezáltal az SMTP-kapcsolatokat, levelezőfiókokat és alapvető küldési funkciókat nem kell minden egyes saját PHP-szkriptnél újra programozni.
Közvetlen E-mail és hírlevél küldésére az alábbi funkció érhető el:
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);
Űrlap E-mail-ek küldéséhez további következő funkció áll rendelkezésre:
BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);
BlueSMTPMail()
A BlueSMTPMail() segítségével normál E-mail-ek és hírlevelek küldhetők a bluetronix CMS központi levelezőrendszerén keresztül.
A funkcióhívás így néz ki:
BlueSMTPMail(
$MailType,
$MailAccount,
$SMTPType,
$From,
$To,
$NewsletterTo,
$Subject,
$TextContent,
$HTMLContent,
$Attachments,
$EmbedImages,
$MailPlaceholderReplacement,
$FormEntry
);
$MailType
Meghatározza, hogy milyen típusú E-mail-t szeretnénk küldeni.
Lehetséges értékek:
Mail
Newsletter
Példa:
$MailType = "Mail";
vagy:
$MailType = "Newsletter";
$MailAccount
A $MailAccount meghatározza a levelezőfiókot, amelynek SMTP-beállításait használni kell.
Ezen érték segítségével a megfelelő SMTP-konfigurációs adatokat betöltjük a CMS adatbázistábláiból.
Hogy melyik konfigurációt használjuk, az a $SMTPType értékétől is függ.
$SMTPType
Meghatározza, hogy belső vagy külső levelezőfiókot használunk-e.
Lehetséges értékek:
Intern
Extern
Belső
Ha:
$SMTPType = "Intern";
akkor egy olyan levelezőfiókot használunk, amelyet közvetlenül a bluetronix CMS-ben állítottunk be.
A fiókok itt találhatók:
Email → Accounts
A $From értékében használt feladó címének ott fióknak kell lennie.
Külső
Ha:
$SMTPType = "Extern";
külső SMTP-hozzáférési adatokat használnak.
Ezeket a CMS-ben az alábbi helyen kezeljük:
Email → Server - Extern
A $From értékében használt feladó címének ott megfelelően be kell állítva lennie.
A $From alatt használt feladó címének ott megfelelően be kell lennie állítva.
$From
Tartalmazza a feladó e-mail címét.
Példa:
$From = "info@example.com";
Az e-mail címnek meg kell felelnie a választott SMTP-beállításoknak.
$To
Tartalmazza a normál e-mail címzettjének e-mail címét.
Példa:
$To = "customer@example.com";
Normál levélküldés esetén ezt a változót címzettként használják.
$NewsletterTo
A $NewsletterTo a hírlevél küldésénél használatos.
A változó több e-mail címet tartalmaz szövegként. Minden e-mail cím sortöréssel van elválasztva.
Példa:
$NewsletterTo = "customer1@example.com\ncustomer2@example.com\ncustomer3@example.com";
$Subject
Tartalmazza az e-mail tárgyát.
Példa:
$Subject = "Welcome to our website";
$TextContent
Tartalmazza az e-mail tiszta szöveges részét.
Ez a rész például olyan e-mail programok által használható, amelyek nem jelenítenek meg HTML e-maileket.
Példa:
$TextContent = "Thank you for your request.";
$HTMLContent
Tartalmazza az e-mail HTML részét.
Példa:
$HTMLContent = "<h1>Thank you</h1><p>Thank you for your request.</p>";
Ezzel formázott e-mailek küldhetők fejlécekkel, szövegekkel, linkekkel, képekkel és egyéb HTML elemekkel.
$Attachments
A $Attachments segítségével fájlok csatolhatók az e-mailhez.
A fájlokat az oldalon belüli elérési útvonalukkal kell megadni.
Példa:
$Attachments = "/bx_doc/Intro.pdf";
Több csatolmány esetén az egyes fájl elérési utak sortöréssel vannak elválasztva.
Példa:
$Attachments = "/bx_doc/Intro.pdf\n/bx_doc/PriceList.pdf";
$EmbedImages
A $EmbedImages segítségével meghatározható, hogy a képeket közvetlenül az e-mailbe kell-e beágyazni.
Példa:
$EmbedImages = "ja";
Ha az opció engedélyezve van, a HTML e-mailben használt képek közvetlenül be lesznek ágyazva az e-mailbe, és nem csak külső URL-eken keresztül töltődnek be.
Így a képek a címzett számára közvetlenül elérhetőek az e-mailben, anélkül, hogy először külön be kellene őket tölteni a webszerverről.
$MailPlaceholderReplacement
A $MailPlaceholderReplacement segítségével a következő helyettesítők belül:
$TextContent
$HTMLContent
egyedi értékekkel helyettesíthetők.
Az elv a következő:
Search
↓
Replace
Ez lehetővé teszi például, hogy személyre szabott tartalmak jöjjenek létre egy e-mailen belül.
Tipikus felhasználási lehetőségek:
- Name des Empfängers
- Kundennummer
- Bestellnummer
- individuelle Links
- weitere dynamische Inhalte
$FormEntry
A $FormEntry segítségével meghatározható, hogy a küldés továbbiakban a űrlaparchívumban mentésre kerüljön.
Ha:
$FormEntry = "JA";
további bejegyzés készül az adatbázis táblában:
00_form
mentve.
Ez lehetővé teszi a küldemény egyidejű dokumentálását mint űrlap- vagy archív bejegyzés.
Példa: Normál e-mail küldése
A következő példa egy normál HTML- és szöveges e-mailt küld el egy belső levelező fiókon keresztül.
$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);
Az eljárás leegyszerűsítve így hangzik:
PHP
↓
BlueSMTPMail()
↓
internen Mail-Account laden
↓
SMTP-Verbindung verwenden
↓
E-Mail erzeugen
↓
E-Mail versenden
↓
MailCache-Eintrag erzeugen
Példa: Hírlevél küldése
Hírlaphoz a $MailType értéke:
Newsletter
van beállítva.
A címzetteket a $NewsletterTo kulcsszó segítségével kell átadni.
$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);
Az egyes hírlevél címzettek a $NewsletterTo belül sortörésekkel vannak elválasztva.
Külső SMTP kapcsolat használata
Ha külső levelező szerver használata szükséges, akkor:
$SMTPType = "Extern";
van beállítva.
A SMTP hozzáférési adatokat előzőleg a következő címen kell beállítani:
Email → Server - Extern
meg kell, hogy legyenek.
Példa:
$SMTPType = "Extern";
$From = "mail@external-domain.com";
$MailAccount = "mail@external-domain.com";
BlueFormSend()
A közvetlen e-mail küldés mellett elérhető a következő funkció:
BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);
az elérhető.
Ez a funkció kifejezetten CMS űrlapokkal való e-mail küldés céljából készült.
A változók már teljesen angol írásmódban vannak.
BlueFormSend() paraméterei
| Változó | Használat |
|---|---|
$SMTPType |
Belső vagy külső SMTP küldési mód kiválasztása |
$SendMail |
Irányítja az űrlap e-mail küldését |
$SendSubject |
Az űrlap e-mail tárgya |
$CopyToCustomer |
Irányítja, hogy a vevő kap-e másolatot |
$TextToCustomer |
Üzenet szövege az ügyfél részére |
$FormArchive |
Irányítja a űrlap archiválását |
$FormID |
Az érintett űrlap azonosítója |
$SendTo |
A űrlap e-mail címzettje |
MailCache
Minden egyes BlueSMTPMail() hívás további bejegyzést hoz létre az adatbázis táblában:
00_MailCache
Ezen a táblázaton keresztül ellenőrizhető az e-mail küldés állapota.
Itt például meg lehet nézni, hogy egy e-mail sikeresen feldolgozásra került vagy elküldésre került-e.
A MailCache bejegyzések a következőkhöz készülnek:
1 Woche
mentve.
Egy tipikus e-mail küldés folyamata
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
A BlueSMTPMail paramétereinek áttekintése
| Változó | Jelentés |
|---|---|
$MailType |
E-mail vagy hírlevél |
$MailAccount |
Használni kívánt e-mail fiók |
$SMTPType |
Belső vagy Külső |
$From |
Feladó cím |
$To |
Egy normál e-mail címzettje |
$NewsletterTo |
Hírlevél címzettek, új sorral elválasztva |
$Subject |
E-mail téma |
$TextContent |
Az e-mail szövege |
$HTMLContent |
Az e-mail HTML része |
$Attachments |
A mellékletek fájljai |
$EmbedImages |
Képek közvetlen integrálása az e-mailbe |
$MailPlaceholderReplacement |
Helyettesítők cseréje az e-mail tartalmában |
$FormEntry |
Opcionális bejegyzés létrehozása a 00_form-ban |
Zusammenfassung
A bluetronix CMS központi e-mail rendszerét közvetlenül a saját PHP-kódodból lehet hívni.
Für normalen E-Mail- und Newsletter-Versand wird verwendet:
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);
A CMS űrlapokhoz további lehetőség érhető el:
Intern
→ Email → Accounts
vagy:
Minden e-mail küldés továbbiakban a következőn keresztül történik:
Ezáltal a fejlesztők közvetlenül a bluetronix CMS meglévő e-mail rendszerét használhatják a saját PHP-scriptekből anélkül, hogy az egész SMTP logikát meg kellene valósítaniuk.
Milyen funkciókat biztosít a központi e-mail rendszer PHP számára?
Normál e-mailekhez és hírlevelekhez a BlueSMTPMail() használata javasolt. A CMS űrlapokkal való küldéshez további lehetőség a BlueFormSend().
Hol találom az intern e-mail fiókokat?
Az intern e-mail fiókok a Email → Accounts alatt vannak beállítva. Küldésükhöz állítsd a $SMTPType értékét Intern-re. A feladó címnek egy beállított fiókhoz kell tartoznia.
Hogyan használjak külső SMTP szervert?
Állítsd be a hozzáférési adatokat a Email → Server - Extern menüpont alatt, és használd a $SMTPType = "Extern"; utasítást. A feladó címnek meg kell felelnie a választott konfigurációnak.
Mi a különbség az e-mail és a hírlevél között?
BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);
Die SMTP-Konfiguration kann entweder über:Intern → Email → Fiókok
Extern
→ Email → Server - Extern
erfolgen.Minden e-mail elküldése a következőn keresztül zajlik:
00_MailCache
protokolliert. Die entsprechenden Cache-Einträge bleiben eine Woche erhalten.Ezzel a fejlesztők közvetlenül használhatják a bluetronix CMS már meglévő levelezőrendszerét saját PHP szkriptekből, anélkül hogy szükség lenne a teljes SMTP-logika implementálására.
GYIK
Miket kérdeznek tőlünk gyakran az ügyfelek?
Milyen funkciókat biztosít a központi levelezőrendszer a PHP számára?
Normál e-mailek és hírlevelek esetén használd a BlueSMTPMail()-t. CMS-űrlapokkal történő küldéshez további lehetőségként BlueFormSend() érhető el.
Hol találom az intern e-mail fiókokat?
Az intern e-mail fiókokat a Email → Fiókok alatt állíthatod be. Küldésükhöz állítsd a $SMTPType értékét Intern-ra. A feladó címének egy beállított fiókhoz kell tartoznia.
Hogyan használok külső SMTP szervert?
Állítsd be a hozzáférési adatokat a Email → Szerver - Külső alatt, és használd a $SMTPType = "Extern"; értéket. A feladó címének a választott konfigurációhoz kell illeszkednie.
Mi a különbség a levél és a hírlevél között?
A $MailType = "Mail"; beállítással egy normál e-mailt küldesz, amelynek címzettje a $To változóban található. Hírlevél küldéséhez állítsd a $MailType = "Newsletter"; értéket, és add meg a címzettet a $NewsletterTo változóban.
Hogyan adhatsz meg több hírlevél-címzettet?
Írd be a címeket a $NewsletterTo változóba, és válaszd el őket sortörésekkel.
Küldhetek szöveget és HTML-t ugyanabban az e-mailben?
Igen. A tiszta szöveg a $TextContent-ban található, míg a formázott HTML üzenetet a $HTMLContent változóban adod meg.
Hogyan adhatsz hozzá csatolmányokat egy e-mailhez?
A $Attachments változóban add meg a fájlútvonalakat a weboldalon. Több csatolmány esetén az útvonalakat sortörésekkel válaszd el.
Hogyan ágyazhatok be képeket közvetlenül egy e-mailbe?
A sablon használatához állítsd be a $EmbedImages = "igen"; értéket. Ezzel a HTML üzenetben használt képek a leírt CMS-funkciónak megfelelően közvetlenül beágyazásra kerülnek.
Mire használható a MailPlaceholderReplacement?
Ezzel lehetőséged van a szöveg- és HTML tartalomban lévő helyettesítők egyedi értékekkel való helyettesítésére, például nevek, rendelési számok vagy személyes linkek számára. A sablon a keresés és helyettesítés elvét írja le, de konkrét átadási formát nem.
Hogyan archiválhatom a küldést űrlapbejegyzésként?
Állítsd be a BlueSMTPMail() értékét $FormEntry = "IGEN";. A sablon szerint ekkor egy bejegyzés kerül mentésre a 00_form táblába.
Hol ellenőrizhetem a küldés állapotát?
A sablon ehhez a 00_MailCache táblát írja le. Az ott létrehozott küldési bejegyzéseket egy hétig tárolják. Egy feldolgozási bejegyzés önmagában nem képez további bizonyítékot a címzetthez való kézbesítésről.
Mikor használom a BlueFormSend()-ot?
BlueFormSend() az e-mail küldésére szolgál CMS-formanyomtatványokkal. A paraméterek között találhatóak a küldés vezérlése, téma, vevői másolat, űrlaparchívum és űrlap-azonosító.