Εκκίνηση του συστήματος ταχυδρομείου μέσω PHP
Σε αυτό το σεμινάριο θα μάθετε τις παραμέτρους της BlueSMTPMail() και της BlueFormSend(), θα ρυθμίσετε εσωτερική ή εξωτερική αποστολή και θα μάθετε πώς να χειρίζεστε τα συνημμένα, τα περιεχόμενα HTML και τα πρωτόκολλα αποστολής.
Σκοπός του σεμιναρίου
Σημείωση: Αυτό το εγχειρίδιο απευθύνεται σε προγραμματιστές και δείχνει πώς το ενσωματωμένο σύστημα ταχυδρομείου του bluetronix CMS μπορεί να κληθεί απευθείας μέσω PHP.
Το bluetronix CMS παρέχει κεντρικές λειτουργίες PHP για την αποστολή email.
Έτσι, οι συνδέσεις SMTP, οι λογαριασμοί email και οι βασικές λειτουργίες αποστολής δεν χρειάζεται να προγραμματίζονται ξανά για κάθε ξεχωριστό PHP σενάριο.
Για την άμεση αποστολή email και newsletter διατίθεται η εξής λειτουργία:
BlueSMTPMail($MailType,$MailAccount,$SMTPType,$From,$To,$NewsletterTo,$Subject,$TextContent,$HTMLContent,$Attachments,$EmbedImages,$MailPlaceholderReplacement,$FormEntry);
Για την αποστολή email από φόρμες διατίθεται επιπλέον η εξής λειτουργία:
BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);
BlueSMTPMail()
Με το BlueSMTPMail() μπορούν να αποστέλλονται κανονικά email και newsletter μέσω του κεντρικού συστήματος ταχυδρομείου του bluetronix CMS.
Η κλήση της λειτουργίας είναι:
BlueSMTPMail(
$MailType,
$MailAccount,
$SMTPType,
$From,
$To,
$NewsletterTo,
$Subject,
$TextContent,
$HTMLContent,
$Attachments,
$EmbedImages,
$MailPlaceholderReplacement,
$FormEntry
);
$MailType
Καθορίζει ποιο είδος email θα αποσταλεί.
Πιθανοί τιμές:
Mail
Newsletter
Παράδειγμα:
$MailType = "Mail";
ή:
$MailType = "Newsletter";
$MailAccount
$MailAccount καθορίζει τον λογαριασμό email του οποίου οι ρυθμίσεις SMTP θα χρησιμοποιηθούν.
Με αυτή την τιμή φορτώνονται τα αντίστοιχα στοιχεία ρύθμισης SMTP από τους πίνακες της βάσης δεδομένων του CMS.
Ποια ρύθμιση θα χρησιμοποιηθεί εξαρτάται επίσης από το $SMTPType.
$SMTPType
Καθορίζει αν θα χρησιμοποιηθεί εσωτερικός ή εξωτερικός λογαριασμός email.
Πιθανοί τιμές:
Intern
Extern
Εσωτερικά
Στο:
$SMTPType = "Intern";
χρησιμοποιείται ένας λογαριασμός email που έχει ρυθμιστεί απευθείας στο 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";
Σε μια κανονική αποστολή με email, αυτή η μεταβλητή χρησιμοποιείται ως παραλήπτης.
$NewsletterTo
Το $NewsletterTo χρησιμοποιείται κατά την αποστολή ενημερωτικού δελτίου.
Η μεταβλητή περιέχει πολλές διευθύνσεις ηλεκτρονικού ταχυδρομείου ως κείμενο. Κάθε διεύθυνση διαχωρίζεται με μία αλλαγή γραμμής.
Παράδειγμα:
$NewsletterTo = "customer1@example.com\ncustomer2@example.com\ncustomer3@example.com";
$Subject
Περιέχει το θέμα του ηλεκτρονικού ταχυδρομείου.
Παράδειγμα:
$Subject = "Welcome to our website";
$TextContent
Περιέχει το καθαρό κείμενο του ηλεκτρονικού ταχυδρομείου.
Αυτό το μέρος μπορεί να χρησιμοποιηθεί από προγράμματα ηλεκτρονικού ταχυδρομείου που δεν υποστηρίζουν HTML emails.
Παράδειγμα:
$TextContent = "Thank you for your request.";
$HTMLContent
Περιέχει το μέρος HTML του ηλεκτρονικού ταχυδρομείου.
Παράδειγμα:
$HTMLContent = "<h1>Thank you</h1><p>Thank you for your request.</p>";
Με αυτό, μπορούν να σταλούν μορφοποιημένα emails με τίτλους, κείμενα, συνδέσμους, εικόνες και άλλα στοιχεία HTML.
$Attachments
Με το $Attachments μπορούν να προστεθούν αρχεία στο ηλεκτρονικό ταχυδρομείο.
Τα αρχεία παρέχονται μέσω της διαδρομής τους εντός της ιστοσελίδας.
Παράδειγμα:
$Attachments = "/bx_doc/Intro.pdf";
Σε περίπτωση πολλαπλών συνημμένων, οι διαδρομές των επιμέρους αρχείων διαχωρίζονται με μία αλλαγή γραμμής.
Παράδειγμα:
$Attachments = "/bx_doc/Intro.pdf\n/bx_doc/PriceList.pdf";
$EmbedImages
Με το $EmbedImages μπορεί να καθοριστεί εάν οι εικόνες θα ενσωματωθούν απευθείας στο ηλεκτρονικό ταχυδρομείο.
Παράδειγμα:
$EmbedImages = "ja";
Αν είναι ενεργοποιημένη η δυνατότητα, οι εικόνες που χρησιμοποιούνται στο HTML email ενσωματώνονται άμεσα στο email και δεν φορτώνονται αποκλειστικά μέσω εξωτερικών URLs.
Έτσι, οι εικόνες μπορούν να είναι διαθέσιμες άμεσα στον παραλήπτη μέσα στο email, χωρίς να χρειάζεται πρώτα να φορτωθούν ξεχωριστά από τον διακομιστή ιστού.
$MailPlaceholderReplacement
Με το $MailPlaceholderReplacement μπορούν να αντικατασταθούν οι θέσεις με:
$TextContent
$HTMLContent
από ατομικές τιμές.
Η αρχή είναι:
Search
↓
Replace
Έτσι μπορούν να παραχθούν εξατομικευμένα περιεχόμενα μέσα σε ένα email.
Τυπικές δυνατότητες χρήσης είναι:
- Name des Empfängers
- Kundennummer
- Bestellnummer
- individuelle Links
- weitere dynamische Inhalte
$FormEntry
Με το $FormEntry μπορεί να καθοριστεί εάν η αποστολή θα πρέπει επιπλέον να αποθηκευτεί στο αρχείο της φόρμας.
Στο:
$FormEntry = "JA";
Επιπλέον, θα δημιουργηθεί μια καταχώρηση στον πίνακα της βάσης δεδομένων:
00_form
αποθηκεύτηκε.
Αυτό επιτρέπει την ταυτόχρονη τεκμηρίωση της αποστολής ως φόρμα ή αρχείο.
Παράδειγμα: Αποστολή κανονικού email
Το παρακάτω παράδειγμα στέλνει μια κανονική HTML και κειμενική email μέσω ενός εσωτερικού λογαριασμού email.
$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
Παράδειγμα: Αποστολή newsletter
Για ένα newsletter, το $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);
Οι επιμέρους παραλήπτες newsletter χωρίζονται μέσα στο $NewsletterTo με αλλαγές γραμμής.
Χρήση εξωτερικής σύνδεσης SMTP
Αν πρέπει να χρησιμοποιηθεί εξωτερικός διακομιστής email, ορίζεται:
$SMTPType = "Extern";
ορίζεται.
Τα στοιχεία πρόσβασης SMTP πρέπει πρώτα να ρυθμιστούν υπό:
Email → Server - Extern
να έχουν ρυθμιστεί.
Παράδειγμα:
$SMTPType = "Extern";
$From = "mail@external-domain.com";
$MailAccount = "mail@external-domain.com";
BlueFormSend()
Επιπλέον της άμεσης αποστολής email, είναι διαθέσιμη η λειτουργία:
BlueFormSend($SMTPType,$SendMail,$SendSubject,$CopyToCustomer,$TextToCustomer,$FormArchive,$FormID,$SendTo);
.
Αυτή η λειτουργία έχει σχεδιαστεί ειδικά για την αποστολή email σε σχέση με φόρμες CMS.
Οι μεταβλητές είναι ήδη ολοκληρωμένες στην αγγλική γραφή.
Παράμετροι της BlueFormSend()
| Μεταβλητή | Χρήση |
|---|---|
$SMTPType |
Επιλέξτε την εσωτερική ή εξωτερική αποστολή SMTP |
$SendMail |
Ελέγχει την αποστολή email της φόρμας |
$SendSubject |
Θέμα του email της φόρμας |
$CopyToCustomer |
Ελέγχει αν ο πελάτης θα λάβει ένα αντίγραφο |
$TextToCustomer |
Κείμενο για το μήνυμα προς τον πελάτη |
$FormArchive |
Ελέγχει την αρχειοθέτηση της φόρμας |
$FormID |
ID της αντίστοιχης φόρμας |
$SendTo |
Παραλήπτης του email της φόρμας |
MailCache
Κάθε κλήση της BlueSMTPMail() δημιουργεί επιπλέον μια καταχώρηση στον πίνακα βάσης δεδομένων:
00_MailCache
Μέσω αυτού του πίνακα μπορεί να ελεγχθεί η κατάσταση της αποστολής email.
Εκεί μπορεί για παράδειγμα να ελεγχθεί αν ένα email έχει επεξεργαστεί ή αποσταλεί επιτυχώς.
Οι καταχωρήσεις του MailCache ισχύουν για:
1 Woche
αποθηκεύτηκε.
Τυπική διαδικασία αποστολής email
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 |
Email ή Newsletter |
$MailAccount |
Επιλεγμένος λογαριασμός email |
$SMTPType |
Εσωτερικά ή Εξωτερικά |
$From |
Διεύθυνση αποστολέα |
$To |
Παραλήπτης κανονικού email |
$NewsletterTo |
Παραλήπτες newsletter, διαχωρισμένοι με αλλαγές γραμμής |
$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:
Εσωτερικά
→ Email → Λογαριασμοί
ή:
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().
Πού μπορώ να βρω τους εσωτερικούς λογαριασμούς ηλεκτρονικού ταχυδρομείου;
Οι εσωτερικοί λογαριασμοί ηλεκτρονικού ταχυδρομείου ρυθμίζονται κάτω από Email → Λογαριασμοί. Για την αποστολή τους ρυθμίζετε το $SMTPType σε Εσωτερικό. Η διεύθυνση αποστολέα πρέπει να ανήκει σε ρυθμισμένο λογαριασμό.
Πώς μπορώ να χρησιμοποιήσω έναν εξωτερικό SMTP-server;
Ρυθμίστε τα στοιχεία πρόσβασης κάτω από Email → Server - Εξωτερικός και χρησιμοποιήστε $SMTPType = "Εξωτερικό";. Η διεύθυνση αποστολέα πρέπει να ταιριάζει με τη διαμορφωμένη επιλογή.
Πια είναι η διαφορά μεταξύ ηλεκτρονικού ταχυδρομείου και ενημερωτικού δελτίου;
Με $MailType = "Mail"; αποστέλλεται μια κανονική E-Mail, του οποίου ο παραλήπτης είναι στο $To. Για ένα newsletter χρησιμοποιείς $MailType = "Newsletter"; και περνάς τους παραλήπτες μέσω του $NewsletterTo.
Πώς μπορώ να περάσω πολλούς παραλήπτες για newsletter;
Καταχώρισε τις διευθύνσεις στο $NewsletterTo και χώρισε κάθε διεύθυνση email με μια αλλαγή γραμμής.
Μπορώ να στείλω κείμενο και HTML στην ίδια E-Mail;
Ναι. Το απλό κείμενο βρίσκεται στο $TextContent, ενώ περνάς το μορφοποιημένο μήνυμα HTML μέσω του $HTMLContent.
Πώς μπορώ να προσθέσω συνημμένα σε μια E-Mail;
Μέσω του $Attachments περνάς τα μονοπάτια αρχείων εντός της ιστοσελίδας. Με πολλαπλά συνημμένα, τα μονοπάτια χωρίζονται με αλλαγές γραμμής.
Πώς μπορώ να ενσωματώσω εικόνες άμεσα σε μια E-Mail;
Το template χρησιμοποιεί γι' αυτό $EmbedImages = "ναι";. Έτσι, οι εικόνες που χρησιμοποιούνται μέσα στο μήνυμα HTML θα ενσωματωθούν απευθείας σύμφωνα με τη περιγραφόμενη λειτουργία του CMS.
Για ποιο λόγο χρησιμοποιείται το MailPlaceholderReplacement;
Μπορείς να αντικαταστήσεις placeholders στο κείμενο και το περιεχόμενο HTML με ατομικές τιμές, όπως για ονόματα, αριθμούς παραγγελιών ή προσωπικούς συνδέσμους. Το template περιγράφει την αρχή αναζήτησης και αντικατάστασης, αλλά δεν αναφέρει συγκεκριμένη μορφή παράδοσης.
Πώς μπορώ να αρχειοθετήσω την αποστολή και ως καταχώρηση στη φόρμα;
Ορίστε την τιμή $FormEntry = "ΝΑΙ"; στην BlueSMTPMail(). Σύμφωνα με το template, θα αποθηκευτεί επίσης μια καταχώρηση στο 00_form.
Πού μπορώ να ελέγξω την κατάσταση αποστολής;
Το template περιγράφει γι' αυτό τον πίνακα 00_MailCache. Οι καταχωρήσεις αποστολής που δημιουργούνται εκεί θα αποθηκεύονται για μια εβδομάδα. Μια καταχώρηση επεξεργασίας δεν αποτελεί μόνο αυτό μια επιπλέον απόδειξη παραλαβής από τον παραλήπτη.
Πότε χρησιμοποιώ το BlueFormSend();
BlueFormSend() είναι προγραμματισμένο για την αποστολή E-Mail με φορμές CMS. Μεταξύ των παραμέτρων περιλαμβάνονται ο έλεγχος αποστολής, το θέμα, ένα αντίγραφο για τον πελάτη, το αρχείο αρχειοθέτησης της φόρμας και το ID της φόρμας.