קריאה למערכת הדואר דרך PHP
מדריך זה ילמד אותך את הפרמטרים של BlueSMTPMail() ו-BlueFormSend(), כיצד להגדיר משלוח פנימי או חיצוני, ואיך לטפל בקבצים מצורפים, תוכן HTML ופרוטוקולי משלוח.
מטרת המדריך
הערה: מדריך זה מיועד למפתחים ומראה כיצד ניתן לקרוא ישירות למערכת הדואר המשולבת של CMS של בלואטרוניקס באמצעות PHP.
ה-CMS של בלואטרוניקס מספק פונקציות PHP מרכזיות לשליחת דוא"ל.
כך שאין צורך לתכנת מחדש חיבורי SMTP, חשבונות דוא"ל ופונקציות בסיסיות לשליחה עבור כל סקריפט PHP אישי.
עבור שליחת דוא"ל ישירה וניוזלטר, הפונקציה הבאה זמינה:
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() ניתן לשלוח דוא"ל רגיל וניוזלטרים באמצעות מערכת הדואר המרכזית של 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.
באמצעות ערך זה ייטענו נתוני קונפיגורציה של SMTP מהטבלאות של מסד הנתונים של ה-CMS.
איזו קונפיגורציה תשתמש תלויה גם ב-$SMTPType.
$SMTPType
קובע אם יש להשתמש בחשבון דוא"ל פנימי או חיצוני.
ערכים אפשריים:
Intern
Extern
פנימי
באמצעות:
$SMTPType = "Intern";
יש להשתמש בחשבון דוא"ל שהוקם ישירות ב-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
כולל את החלק הטקסטואלי של הדוא"ל.
חלק זה יכול לשמש, למשל, על ידי תוכנות דוא"ל שאינן מציגות דוא"לים ב-HML.
דוגמה:
$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 |
חלק ה-HTML של האימייל |
$Attachments |
נתיבי הקבצים של ההתקנים המצורפים |
$EmbedImages |
שילוב תמונות ישירות באימייל |
$MailPlaceholderReplacement |
החלפת פלאסטרים בתוך תוכן האימייל |
$FormEntry |
יצירת רשומה אופציונלית ב-00_form |
Zusammenfassung
מערכת האימייל המרכזית של bluetronix CMS יכולה להתקשר ישירות מקוד PHP מותאם אישית.
Für normalen E-Mail- und Newsletter-Versand wird verwendet:
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);
עבור טפסי CMS זמין גם:
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.
כך שאפשר לפתח את מערכת האימייל הקיימת של bluetronix CMS ישירות מסקריפטים מותאמים אישית של PHP, מבלי שיהיה צורך ליישם את כל לוגיקת SMTP בעצמך.
שאלות נפוצות
מה לקוחות שואלים אותנו לעיתים קרובות
אילו פונקציות מערכת האימייל המרכזית מספקת עבור PHP?
לצורך אימיילים רגילים וניוזלטרים אתה משתמש ב- BlueSMTPMail(). לשליחת אימיילים בקשר עם טפסי CMS זמינה גם BlueFormSend().
איפה אני יכול למצוא את חשבונות האימייל הפנימיים?
חשבונות אימייל פנימיים מוגדרים תחת אימייל → חשבונות. לשליחתם, אתה צריך להגדיר את $SMTPType ל- פנימי. כתובת השולח חייבת להיות משויכת לחשבון שהוקם.
איך להשתמש בשרת SMTP חיצוני?
הגדר את פרטי הגישה תחת אימייל → שרת - חיצוני והשתמש ב- $SMTPType = "חיצוני";. כתובת השולח חייבת להיות תואמת לקונפיגורציה שנבחרה.
מה ההבדל בין אימייל לניוזלטר?
עם $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. בין הפרמטרים יש שליטה על משלוח, נושא, עותק ללקוח, ארכיון טפסים ומזהה טופס.