PHP के माध्यम से मेल सिस्टम को कॉल करें
इस ट्यूटोरियल में आप BlueSMTPMail() और BlueFormSend() के पैरामीटर को जानेंगे, आंतरिक या बाहरी भेजने की सेटिंग करें और जानें कि अटैचमेंट, HTML सामग्री और भेजने की लॉग को कैसे संभाला जाता है।
ट्यूटोरियल का लक्ष्य
नोट: यह ट्यूटोरियल डेवलपर्स के लिए है और दिखाता है कि कैसे bluetronix CMS का अंतर्निहित मेल सिस्टम सीधे PHP के माध्यम से उपयोग किया जा सकता है।
bluetronix CMS ई-मेल भेजने के लिए केंद्रीय PHP कार्यक्षमताएँ प्रदान करता है।
इससे हर एक PHP स्क्रिप्ट के लिए SMTP कनेक्शन, मेल अकाउंट और मूलभूत भेजने के कार्यों को फिर से प्रोग्राम करने की आवश्यकता नहीं है।
सीधे ई-मेल और न्यूज़लेटर भेजने के लिए निम्नलिखित कार्यक्षमता उपलब्ध है:
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);
फॉर्म-ई-मेल भेजने के लिए अतिरिक्त निम्नलिखित कार्यक्षमता उपलब्ध है:
BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);
BlueSMTPMail()
BlueSMTPMail() का उपयोग करके सामान्य ई-मेल और न्यूज़लेटरbluetrionix CMS के केंद्रीय मेल सिस्टम के माध्यम से भेजे जा सकते हैं।
कार्य के कॉल का स्वरूप:
BlueSMTPMail(
$MailType,
$MailAccount,
$SMTPType,
$From,
$To,
$NewsletterTo,
$Subject,
$TextContent,
$HTMLContent,
$Attachments,
$EmbedImages,
$MailPlaceholderReplacement,
$FormEntry
);
$MailType
यह निर्धारित करता है कि किस प्रकार का ई-मेल भेजा जाना है।
संभव मूल्य:
Mail
Newsletter
उदाहरण:
$MailType = "Mail";
या:
$MailType = "Newsletter";
$MailAccount
$MailAccount उस ई-मेल अकाउंट को निर्दिष्ट करता है, जिसके SMTP सेटिंग्स का उपयोग किया जाएगा।
इस मान के माध्यम से CMS डेटाबेस टेबल से संबंधित SMTP कॉन्फ़िगरेशन डेटा लोड किया जाएगा।
कौन सी कॉन्फ़िगरेशन का उपयोग किया जाता है, यह $SMTPType पर भी निर्भर करता है।
$SMTPType
यह निर्धारित करता है कि एक आंतरिक या बाहरी ई-मेल अकाउंट का उपयोग किया जाएगा।
संभव मूल्य:
Intern
Extern
आंतरिक
जब:
$SMTPType = "Intern";
एक ई-मेल अकाउंट का उपयोग किया जाता है, जिसे सीधे bluetronix CMS में सेटअप किया गया है।
अकाउंट यहाँ स्थित हैं:
Email → Accounts
$From में उपयोग की गई भेजने वाले का पता वहाँ एक अकाउंट के रूप में मौजूद होना चाहिए।
बाहरी
जब:
$SMTPType = "Extern";
बाहरी SMTP पहुँच डेटा का उपयोग किया जाएगा।
इन्हें CMS में निम्नलिखित के अंतर्गत प्रबंधित किया जाता है:
Email → Server - Extern
$From में उपयोग की गई भेजने वाले का पता वहाँ उचित रूप से सेटअप किया जाना चाहिए।
$From के अंतर्गत उपयोग की गई भेजने वाली पता वहां उचित रूप से सेट किया जाना चाहिए।
$From
यह भेजने वाले का ई-मेल पता शामिल करता है।
उदाहरण:
$From = "info@example.com";
ई-मेल पता चयनित SMTP कॉन्फ़िगरेशन के साथ मेल खाना चाहिए।
$To
यह एक सामान्य ई-मेल के प्राप्तकर्ता का ई-मेल पता शामिल करता है।
उदाहरण:
$To = "customer@example.com";
सामान्य मेल भेजते समय यह चर प्राप्तकर्ता के रूप में उपयोग किया जाता है।
$NewsletterTo
$NewsletterTo समाचार पत्र भेजने के लिए उपयोग किया जाता है।
यह चर कई ई-मेल पतों को पाठ के रूप में शामिल करता है। प्रत्येक ई-मेल पता एक नई पंक्ति द्वारा विभाजित होता है।
उदाहरण:
$NewsletterTo = "customer1@example.com\ncustomer2@example.com\ncustomer3@example.com";
$Subject
यह ई-मेल का विषय शामिल करता है।
उदाहरण:
$Subject = "Welcome to our website";
$TextContent
यह ई-मेल के शुद्ध पाठ भाग को शामिल करता है।
यह भाग उदाहरण के लिए उन ई-मेल प्रोग्रामों द्वारा उपयोग किया जा सकता है जो HTML ई-मेल नहीं दिखाते।
उदाहरण:
$TextContent = "Thank you for your request.";
$HTMLContent
यह ई-मेल के HTML भाग को शामिल करता है।
उदाहरण:
$HTMLContent = "<h1>Thank you</h1><p>Thank you for your request.</p>";
इसके साथ हेडिंग्स, पाठ, लिंक, चित्र और अन्य HTML तत्वों के साथ स्वरूपित ई-मेल भेजे जा सकते हैं।
$Attachments
$Attachments के साथ ई-मेल में फ़ाइलें संलग्न की जा सकती हैं।
फ़ाइलें वेबसाइट के भीतर उनके पथ के माध्यम से निर्दिष्ट की जाती हैं।
उदाहरण:
$Attachments = "/bx_doc/Intro.pdf";
कई अटैचमेंट्स के मामले में, व्यक्तिगत फ़ाइल पथ एक नई पंक्ति द्वारा विभाजित होते हैं।
उदाहरण:
$Attachments = "/bx_doc/Intro.pdf\n/bx_doc/PriceList.pdf";
$EmbedImages
$EmbedImages के साथ यह निर्धारित किया जा सकता है कि क्या चित्रों को ई-मेल में सीधे एम्बेड किया जाना चाहिए।
उदाहरण:
$EmbedImages = "ja";
यदि विकल्प सक्रिय है, तो HTML ई-मेल में उपयोग किए गए चित्रों को ई-मेल में सीधे एकीकृत किया जाता है और केवल बाह्य URL के माध्यम से नहीं लोड किया जाता।
इससे चित्र प्राप्तकर्ता के लिए सीधे ई-मेल के भीतर उपलब्ध हो सकते हैं, बिना कि पहले उन्हें वेब सर्वर से अलग से लोड किया जाए।
$MailPlaceholderReplacement
$MailPlaceholderReplacement के साथ के स्थानधारी को इनमे:
$TextContent
$HTMLContent
व्यक्तिगत मानों से प्रतिस्थापित किया जा सकता है।
सिद्धांत यह है:
Search
↓
Replace
इससे उदाहरण के लिए ई-मेल के भीतर व्यक्तिगत सामग्री उत्पन्न की जा सकती है।
विशिष्ट उपयोग के मामले हैं:
- Name des Empfängers
- Kundennummer
- Bestellnummer
- individuelle Links
- weitere dynamische Inhalte
$FormEntry
$FormEntry के साथ यह निर्धारित किया जा सकता है कि क्या भेजना फ़ॉर्म अभिलेख में भी सहेजा जाना चाहिए।
जब:
$FormEntry = "JA";
इसके अतिरिक्त डेटाबेस तालिका में एक प्रविष्टि:
00_form
संग्रहीत।
इससे भेजने को एक फ़ॉर्म या अभिलेख प्रविष्टि के रूप में दस्तावेज़ित किया जा सकता है।
उदाहरण: सामान्य ई-मेल भेजना
निम्नलिखित उदाहरण एक सामान्य HTML और पाठ ई-मेल को एक आंतरिक मेल खाता के माध्यम से भेजता है।
$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);
प्रक्रिया सरलित रूप से इस प्रकार है:
PHP
↓
BlueSMTPMail()
↓
internen Mail-Account laden
↓
SMTP-Verbindung verwenden
↓
E-Mail erzeugen
↓
E-Mail versenden
↓
MailCache-Eintrag erzeugen
उदाहरण: न्यूज़लेटर भेजना
एक न्यूज़लेटर के लिए $MailType को:
Newsletter
सेट किया जाता है।
प्राप्तकर्ता बाद में $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);
व्यक्तिगत न्यूज़लेटर-प्राप्तकर्ता $NewsletterTo के भीतर नई पंक्तियों से अलग होते हैं।
बाहरी SMTP कनेक्शन का उपयोग करना
यदि एक बाहरी मेल सर्वर का उपयोग किया जाना है, तो:
$SMTPType = "Extern";
सेट किया जाता है।
SMTP पहुँच विवरण पहले से सेट किया जाना चाहिए:
Email → Server - Extern
।
उदाहरण:
$SMTPType = "Extern";
$From = "mail@external-domain.com";
$MailAccount = "mail@external-domain.com";
BlueFormSend()
प्रत्यक्ष मेल भेजने के अलावा, функция उपलब्ध है:
BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);
।
यह फ़ंक्शन CMS फ़ॉर्म के साथ ई-मेल भेजने के लिए विशेष रूप से डिज़ाइन किया गया है।
चर पहले से ही पूरी तरह से अंग्रेज़ी शैली में हैं।
BlueFormSend() के पैरामीटर
| चर | उपयोग |
|---|---|
$SMTPType |
आंतरिक या बाहरी SMTP भेजने का चयन करें |
$SendMail |
फ़ॉर्म का मेल भेजने को नियंत्रित करता है |
$SendSubject |
फ़ॉर्म ई-मेल का विषय |
$CopyToCustomer |
नियंत्रित करता है कि क्या ग्राहक को एक प्रति मिलती है |
$TextToCustomer |
ग्राहक को संदेश के लिए पाठ |
$FormArchive |
फॉर्म के संग्रहण को नियंत्रित करता है |
$FormID |
संबंधित फॉर्म की आईडी |
$SendTo |
फॉर्म ई-मेल का प्राप्तकर्ता |
MailCache
BlueSMTPMail() का प्रत्येक कॉल डेटाबेस टेबल में एक अतिरिक्त प्रविष्टि उत्पन्न करता है:
00_MailCache
इस तालिका के माध्यम से ई-मेल भेजने की स्थिति की जांच की जा सकती है।
यहां यह जांचा जा सकता है कि क्या ई-मेल सफलतापूर्वक संसाधित या भेजा गया है।
MailCache प्रविष्टियाँ के लिए:
1 Woche
संग्रहीत।
मेल भेजने की सामान्य प्रक्रिया
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
BlueSMTPMail पैरामीटर का अवलोकन
| चर | अर्थ |
|---|---|
$MailType |
ई-मेल या न्यूज़लेटर |
$MailAccount |
उपयोग में लाने वाला ई-मेल खाता |
$SMTPType |
आंतरिक या बाहरी |
$From |
प्रेषक का पता |
$To |
सामान्य ई-मेल का प्राप्तकर्ता |
$NewsletterTo |
न्यूज़लेटर प्राप्तकर्ता, पंक्तियों के अंत में विभाजित |
$Subject |
ई-मेल का विषय |
$TextContent |
ई-मेल का टेक्स्ट भाग |
$HTMLContent |
ई-मेल का एचटीएमएल भाग |
$Attachments |
अनुलग्नकों के फ़ाइल पथ |
$EmbedImages |
ई-मेल में सीधे चित्र शामिल करें |
$MailPlaceholderReplacement |
ई-मेल सामग्री के भीतर प्लेसहोल्डर बदलें |
$FormEntry |
00_form में वैकल्पिक प्रविष्टि उत्पन्न करें |
Zusammenfassung
ब्लूट्रोनिक्स सीएमएस का केंद्रीय मेल सिस्टम सीधे अपने स्वयं के पीएचपी कोड से कॉल किया जा सकता है।
Für normalen E-Mail- und Newsletter-Versand wird verwendet:
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);
सीएमएस-फार्मों के लिए अतिरिक्त उपलब्ध है:
BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);
Die SMTP-Konfiguration kann entweder über:
आंतरिक
→ ईमेल → खाते
या:
Extern
→ Email → Server - Extern
erfolgen.
हर ई-मेल भेजने के लिए अतिरिक्त:
00_MailCache
protokolliert. Die entsprechenden Cache-Einträge bleiben eine Woche erhalten.
इससे डेवलपर्स ब्लूट्रोनिक्स सीएमएस के पहले से मौजूद मेल सिस्टम का उपयोग अपने स्वयं के पीएचपी स्क्रिप्ट से कर सकते हैं, बिना पूरी एसएमटीपी लॉजिक को स्वंय से लागू किए।
बहुत पूछे जाने वाले प्रश्न
ग्राहक अक्सर हमसे क्या पूछते हैं
केंद्रीय मेल सिस्टम पीएचपी के लिए कौन-कौन सी सुविधाएँ प्रदान करता है?
साधारण ई-मेल और न्यूज़लेटर्स के लिए तुम BlueSMTPMail() का उपयोग करते हो। सीएमएस-फार्मों के साथ भेजने के लिए अतिरिक्त BlueFormSend() उपलब्ध है।
मैं आंतरिक ई-मेल खातों को कहाँ पाऊँ?
आंतरिक मेल खाते ईमेल → खाते के अंतर्गत स्थापित किए जाते हैं। उनके भेजने के लिए तुम $SMTPType को आंतरिक पर सेट करते हो। प्रेषक का पता एक स्थापित खाते से मेल खाना चाहिए।
मैं एक बाहरी एसएमटीपी सर्वर का उपयोग कैसे करूँ?
बाहरी ईमेल → सर्वर - बाहरी के अंतर्गत पहुँच को सेट करें और $SMTPType = "Extern"; का उपयोग करें। प्रेषक का पता चुनी हुई कॉन्फ़िगरेशन से मेल खाना चाहिए।
मेल और न्यूज़लेटर में क्या अंतर है?
$MailType = "Mail"; के साथ एक सामान्य ई-मेल भेजी जाती है, जिसके रिसीवर $To में होता है। एक न्यूज़लेटर के लिए, आप $MailType = "Newsletter"; सेट करते हैं और रिसीवर्स को $NewsletterTo के माध्यम से पास करते हैं।
मैं कई न्यूज़लेटर रिसीवर्स को कैसे पास करूं?
पते को $NewsletterTo में दर्ज करें और प्रत्येक ई-मेल पते को एक नई लाइन के द्वारा अलग करें।
क्या मैं एक ही ई-मेल में टेक्स्ट और HTML भेज सकता हूँ?
हाँ। सादा टेक्स्ट $TextContent में होता है, जबकि आप फॉर्मेटेड HTML संदेश को $HTMLContent के माध्यम से पास करते हैं।
मैं ई-मेल में अटैचमेंट्स कैसे जोड़ूं?
$Attachments के माध्यम से आप वेबसाइट के भीतर फ़ाइल पथ पास करते हैं। कई अटैचमेंट्स के लिए, पथों को नई लाइन के द्वारा अलग करें।
मैं कैसे चित्रों को सीधे ई-मेल में एम्बेड कर सकता हूँ?
टेम्पलेट इसके लिए $EmbedImages = "ja"; का उपयोग करता है। इससे HTML संदेश में उपयोग किए गए चित्रों को बताई गई CMS कार्यक्षमता के माध्यम से सीधे एम्बेड किया जाता है।
MailPlaceholderReplacement का क्या उपयोग है?
इससे आप टेक्स्ट और HTML सामग्री में प्लेसहोल्डर्स को व्यक्तिगत मानों, जैसे नामों, ऑर्डर नंबरों या व्यक्तिगत लिंक द्वारा बदल सकते हैं। टेम्पलेट सर्च-एंड-रिप्लेस सिद्धांत का वर्णन करता है, लेकिन कोई विशेष पासिंग प्रारूप नहीं देता है।
मैं भेजने को अतिरिक्त रूप से एक फॉर्म प्रविष्टि के रूप में कैसे संग्रहित करूं?
BlueSMTPMail() में $FormEntry = "JA"; सेट करें। टेम्पलेट के अनुसार, तब एक प्रविष्टि 00_form में संग्रहीत की जाएगी।
मैं भेजने की स्थिति कहाँ जांच सकता हूँ?
टेम्पलेट इसके लिए 00_MailCache तालिका का वर्णन करता है। वहाँ बनाए गए भेजने के प्रविष्टियाँ एक सप्ताह के लिए संग्रहीत होती हैं। केवल एक प्रसंस्करण प्रविष्टि रिसीवर को डिलीवरी का अतिरिक्त प्रमाण नहीं है।
मैं कब BlueFormSend() का उपयोग करूँ?
BlueFormSend() CMS फॉर्म के साथ ई-मेल भेजने के लिए निर्धारित किया गया है। पैरामीटर्स में प्रेषण नियंत्रण, विषय, ग्राहक कॉपी, फॉर्म संग्रह और फॉर्म-ID आदि शामिल हैं।