Pobierz aplikację teraz i przetestuj przez 10 dni za darmo
Waluta Wybierz język Wybierz region

Cel samouczka

Uwagi: Ten poradnik jest skierowany do programistów i pokazuje, jak wbudowany system pocztowy bluetronix CMS może być bezpośrednio wywoływany z poziomu PHP.

System CMS bluetronix udostępnia centralne funkcje PHP do wysyłania e-maili.

Dzięki temu nie trzeba na nowo programować połączeń SMTP, kont pocztowych i podstawowych funkcji wysyłki dla każdego skryptu PHP.

Dla bezpośredniego wysyłania e-maili i newsletterów dostępna jest następująca funkcja:

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

Dodatkowo dostępna jest następująca funkcja do wysyłania formularzy e-mail:

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

BlueSMTPMail()

Za pomocą BlueSMTPMail() można wysyłać zwykłe e-maile i newslettery przez centralny system pocztowy CMS bluetronix.

Wywołanie funkcji wygląda następująco:

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

$MailType

Określa, jaki rodzaj e-maila ma zostać wysłany.

Możliwe wartości:

Mail
Newsletter

Przykład:

$MailType = "Mail";

lub:

$MailType = "Newsletter";

$MailAccount

$MailAccount określa konto e-mail, którego ustawienia SMTP mają być użyte.

Na podstawie tej wartości ładowane są odpowiednie dane konfiguracyjne SMTP z tabel bazy danych CMS.

Jakie ustawienia są używane, zależy również od $SMTPType.

$SMTPType

Określa, czy używane będzie wewnętrzne, czy zewnętrzne konto e-mail.

Możliwe wartości:

Intern
Extern

Wewnętrzne

Przy:

$SMTPType = "Intern";

używane jest konto e-mail, które zostało bezpośrednio utworzone w CMS bluetronix.

Kontakty znajdują się pod:

Email → Accounts

Adres nadawcy użyty w $From musi być tam dostępny jako konto.

Zewnętrzne

Przy:

$SMTPType = "Extern";

używane są zewnętrzne dane dostępowe SMTP.

Są one zarządzane w CMS pod:

Email → Server - Extern

Dzięki temu.

Adres nadawcy użyty w $From musi być tam odpowiednio skonfigurowany.

$From

Zawiera adres e-mail nadawcy.

Przykład:

$From = "info@example.com";

Adres e-mail musi pasować do wybranej konfiguracji SMTP.

$To

Zawiera adres e-mail odbiorcy zwykłej poczty.

Przykład:

$To = "customer@example.com";

W przypadku wysyłki zwykłej poczty ta zmienna jest używana jako odbiorca.

$NewsletterTo

$NewsletterTo jest używane podczas wysyłania newslettera.

Zmienna zawiera wiele adresów e-mail w postaci tekstu. Każdy adres e-mail jest oddzielony nową linią.

Przykład:

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

$Subject

Zawiera temat wiadomości e-mail.

Przykład:

$Subject = "Welcome to our website";

$TextContent

Zawiera czystą treść wiadomości e-mail.

Ta część może być używana na przykład przez programy e-mailowe, które nie wyświetlają HTML.

Przykład:

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

$HTMLContent

Zawiera część HTML wiadomości e-mail.

Przykład:

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

Dzięki temu można wysyłać sformatowane e-maile z nagłówkami, tekstami, linkami, obrazkami i innymi elementami HTML.

$Attachments

Dzięki $Attachments można dołączyć pliki do wiadomości e-mail.

Pliki są wskazywane za pomocą ich ścieżki w obrębie strony internetowej.

Przykład:

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

W przypadku wielu załączników poszczególne ścieżki plików są oddzielone nową linią.

Przykład:

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

$EmbedImages

Dzięki $EmbedImages można określić, czy obrazy powinny być osadzone bezpośrednio w wiadomości e-mail.

Przykład:

$EmbedImages = "ja";

Przy włączonej opcji obrazy używane w wiadomości HTML są zintegrowane bezpośrednio w e-mailu, a nie ładowane wyłącznie z zewnętrznych adresów URL.

Dzięki temu obrazy mogą być dostępne dla odbiorcy bezpośrednio w e-mailu, bez potrzeby wcześniejszego ładowania ich z serwera.

$MailPlaceholderReplacement

Dzięki $MailPlaceholderReplacement można zastąpić placeholdery w:

$TextContent
$HTMLContent

indywidualnie przypisanymi wartościami.

Zasada jest następująca:

Search
   ↓
Replace

Dzięki temu można na przykład generować spersonalizowane treści w wiadomości e-mail.

Typowe zastosowania to:

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

$FormEntry

Dzięki $FormEntry można określić, czy wysyłka powinna być dodatkowo zapisana w archiwum formularzy.

Przy:

$FormEntry = "JA";

dodatkowo zostanie utworzony wpis w tabeli bazy danych:

00_form

zapisano.

Dzięki temu wysyłka może być jednocześnie udokumentowana jako wpis w formularzu lub archiwum.

Przykład: Wysyłanie zwykłej wiadomości e-mail

Poniższy przykład wysyła standardowy e-mail HTML i tekstowy za pośrednictwem wewnętrznego konta e-mail.

$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);

Proces wygląda uproszczony tak:

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

Przykład: Wysyłanie newslettera

Dla newslettera ustawiamy $MailType na:

Newsletter

ustawione.

Odbiorcy są następnie przekazywani za pomocą $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);

Poszczególni odbiorcy newslettera są oddzieleni w $NewsletterTo za pomocą łamańca linii.

Używanie zewnętrznego połączenia SMTP

Jeśli ma być używany zewnętrzny serwer pocztowy, należy:

$SMTPType = "Extern";

ustawione.

Dane dostępowe SMTP muszą być wcześniej skonfigurowane pod:

Email → Server - Extern

muszą być skonfigurowane.

Przykład:

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

BlueFormSend()

Oprócz bezpośredniego wysyłania e-maili, dostępna jest funkcja:

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

której celem jest.

Ta funkcja jest przeznaczona specjalnie do wysyłania e-maili w połączeniu z formularzami CMS.

Zmienne są już całkowicie zapisane w angielskiej pisowni.

Parametry funkcji BlueFormSend()

Zmienne Zastosowanie
$SMTPType Wybierz wewnętrzne lub zewnętrzne wysyłanie SMTP
$SendMail Steruje wysyłką maili formularza
$SendSubject Temat e-maila formularza
$CopyToCustomer Steruje, czy klient otrzymuje kopię
$TextDoKlienta Tekst wiadomości do klienta
$FormArchive Zarządza archiwizacją formularza
$FormID ID odpowiedniego formularza
$SendTo Odbiorca wiadomości e-mail z formularza

MailCache

Każde wywołanie BlueSMTPMail() tworzy dodatkowy wpis w tabeli bazy danych:

00_MailCache

Za pomocą tej tabeli można kontrolować status wysyłki wiadomości.

Można tam sprawdzić, czy wiadomość e-mail została pomyślnie przetworzona lub wysłana.

Wpisy MailCache służą do:

1 Woche

zapisano.

Typowy przebieg procesu wysyłania wiadomości e-mail

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

Przegląd parametrów BlueSMTPMail

Zmienne Znaczenie
$MailType Wiadomość e-mail lub newsletter
$MailAccount Konto e-mail do wykorzystania
$SMTPType Wewnętrzne lub zewnętrzne
$From Adres nadawcy
$To Odbiorca zwykłej wiadomości e-mail
$NewsletterTo Odbiorcy newslettera, oddzieleni znacznikami nowej linii
$Temat Temat wiadomości e-mail
$TextContent Część tekstowa wiadomości e-mail
$HTMLContent Część HTML wiadomości e-mail
$Attachments Ścieżki plików załączników
$EmbedImages Integruj obrazy bezpośrednio w wiadomości e-mail
$MailPlaceholderReplacement Zastępuj placeholdery w treści wiadomości
$FormEntry Twórz opcjonalny wpis w 00_form

Zusammenfassung

Centralny system e-mailowy CMS bluetronix może być bezpośrednio wywoływany z własnego kodu 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);

Dla formularzy CMS dostępne jest dodatkowo:

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

Die SMTP-Konfiguration kann entweder über:

Intern
→ Email → Accounts

lub:

Extern
→ Email → Server - Extern

erfolgen.

Każde wysłanie wiadomości e-mail jest dodatkowo rejestrowane przez:

00_MailCache

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

Dzięki temu programiści mogą bezpośrednio korzystać z istniejącego systemu e-mailowego CMS bluetronix w swoich skryptach PHP, bez konieczności samodzielnej implementacji całej logiki SMTP.

FAQ

co klienci często nas pytają

Jakie funkcje udostępnia centralny system e-mailowy dla PHP?

Do zwykłych wiadomości e-mail i newsletterów używasz BlueSMTPMail(). Dla wysyłki w połączeniu z formularzami CMS dostępne jest również BlueFormSend().

Gdzie znajdę wewnętrzne konta e-mail?

Wewnętrzne konta e-mailowe są konfigurowane w Email → Accounts. Do ich wysyłki ustawiasz $SMTPType na Intern. Adres nadawcy musi należeć do skonfigurowanego konta.

Jak używać zewnętrznego serwera SMTP?

Skonfiguruj dane logowania w Email → Server - Extern i użyj $SMTPType = "Extern";. Adres nadawcy musi odpowiadać wybranej konfiguracji.

Jaka jest różnica między e-mailem a newsletterem?

Za pomocą $MailType = "Mail"; wysyłana jest zwykła wiadomość e-mail, a odbiorca jest zapisany w $To. Dla newslettera ustawiasz $MailType = "Newsletter"; i przekazujesz odbiorców przez $NewsletterTo.

Jak mogę przekazać wielu odbiorców newslettera?

Wpisz adresy w $NewsletterTo i oddziel każdy adres e-mail nową linią.

Czy mogę wysłać tekst i HTML w tej samej wiadomości e-mail?

Tak. Czysty tekst znajduje się w $TextContent, podczas gdy sformatowaną wiadomość HTML przekazujesz przez $HTMLContent.

Jak dodać załączniki do wiadomości e-mail?

Za pomocą $Attachments przekazujesz ścieżki do plików w obrębie strony internetowej. W przypadku wielu załączników ścieżki są oddzielane nowymi liniami.

Jak mogę osadzić obrazy bezpośrednio w wiadomości e-mail?

Szablon używa w tym celu $EmbedImages = "tak";. Dzięki temu obrazy używane w wiadomości HTML są osadzane bezpośrednio zgodnie z opisaną funkcją CMS.

Do czego służy MailPlaceholderReplacement?

Umożliwia to zastępowanie miejsc w treści tekstowej i HTML indywidualnymi wartościami, na przykład dla imion, numerów zamówień lub osobistych linków. Szablon opisuje zasadę wyszukiwania i zastępowania, ale nie podaje konkretnego formatu przekazywania.

Jak archiwizować wysyłki jako wpis formularza?

Ustaw w BlueSMTPMail() wartość $FormEntry = "TAK";. Zgodnie z szablonem zostanie dodatkowo zapisany wpis w 00_form.

Gdzie mogę sprawdzić status wysyłki?

Szablon opisuje tabelę 00_MailCache do tego celu. Wprowadzone tam wpisy wysyłki są przechowywane przez tydzień. Wpis przeprocessowania sam w sobie nie stanowi dodatkowego dowodu dostarczenia do odbiorcy.

Kiedy używam BlueFormSend()?

BlueFormSend() jest przeznaczone do wysyłania e-maili z formularzami CMS. Parametry obejmują między innymi kontrolę wysyłki, temat, kopię dla klienta, archiwum formularzy i identyfikator formularza.

CMS