Téléchargez l'application maintenant et testez-la gratuitement pendant 10 jours
Devise Choisir la langue Sélectionner une région

Objectif du tutoriel

Remarque : Ce tutoriel s'adresse aux développeurs et montre comment le système de messagerie intégré du CMS bluetronix peut être appelé directement via PHP.

Le CMS bluetronix fournit des fonctions PHP centrales pour l'envoi d'e-mails.

De ce fait, les connexions SMTP, les comptes mail et les fonctions d'envoi de base n'ont pas besoin d'être reprogrammés pour chaque script PHP.

Pour l'envoi direct d'e-mails et de newsletters, la fonction suivante est disponible :

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

Pour l'envoi d'e-mails de formulaire, la fonction suivante est également disponible :

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

BlueSMTPMail()

Avec BlueSMTPMail(), des e-mails normaux et des newsletters peuvent être envoyés via le système de messagerie central du CMS bluetronix.

L'appel de fonction est le suivant :

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

$MailType

Détermine quel type d'e-mail doit être envoyé.

Valeurs possibles :

Mail
Newsletter

Exemple :

$MailType = "Mail";

ou :

$MailType = "Newsletter";

$MailAccount

$MailAccount détermine le compte e-mail dont les paramètres SMTP seront utilisés.

Avec cette valeur, les données de configuration SMTP correspondantes sont chargées à partir des tables de la base de données du CMS.

La configuration utilisée dépend également de $SMTPType.

$SMTPType

Détermine si un compte e-mail interne ou externe est utilisé.

Valeurs possibles :

Intern
Extern

Interne

Avec :

$SMTPType = "Intern";

un compte e-mail qui a été configuré directement dans le CMS bluetronix est utilisé.

Les comptes se trouvent sous :

Email → Accounts

L'adresse de l'expéditeur utilisée sous $From doit y être présente en tant que compte.

Externe

Avec :

$SMTPType = "Extern";

des données d'accès SMTP externes sont utilisées.

Celles-ci sont gérées dans le CMS sous :

Email → Server - Extern

L'adresse de l'expéditeur utilisée sous $From doit y être configurée en conséquence.

L'adresse de l'expéditeur utilisée dans $From doit y être configurée en conséquence.

$From

Contient l'adresse e-mail de l'expéditeur.

Exemple :

$From = "info@example.com";

L'adresse e-mail doit correspondre à la configuration SMTP choisie.

$To

Contient l'adresse e-mail du destinataire d'un e-mail standard.

Exemple :

$To = "customer@example.com";

Lors d'un envoi d'e-mail standard, cette variable est utilisée comme destinataire.

$NewsletterTo

$NewsletterTo est utilisé lors de l'envoi de la newsletter.

La variable contient plusieurs adresses e-mail au format texte. Chaque adresse e-mail est séparée par un retour à la ligne.

Exemple :

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

$Subject

Contient le sujet de l'e-mail.

Exemple :

$Subject = "Welcome to our website";

$TextContent

Contient la partie texte brut de l'e-mail.

Cette partie peut par exemple être utilisée par des programmes de messagerie qui ne supportent pas les e-mails HTML.

Exemple :

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

$HTMLContent

Contient la partie HTML de l'e-mail.

Exemple :

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

Cela permet d'envoyer des e-mails formatés avec des en-têtes, des textes, des liens, des images et d'autres éléments HTML.

$Attachments

Avec $Attachments, des fichiers peuvent être joints à l'e-mail.

Les fichiers sont spécifiés par leur chemin au sein du site web.

Exemple :

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

Pour plusieurs pièces jointes, les chemins de fichiers individuels sont séparés par un retour à la ligne.

Exemple :

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

$EmbedImages

Avec $EmbedImages, on peut définir si les images doivent être intégrées directement dans l'e-mail.

Exemple :

$EmbedImages = "ja";

Lorsque l'option est activée, les images utilisées dans l'e-mail HTML sont intégrées directement dans l'e-mail et ne sont pas uniquement chargées via des URLs externes.

Ainsi, les images peuvent être disponibles directement dans l'e-mail du destinataire, sans avoir à être chargées séparément depuis le serveur web.

$MailPlaceholderReplacement

Avec $MailPlaceholderReplacement, des espaces réservés au sein de:

$TextContent
$HTMLContent

peuvent être remplacés par des valeurs individuelles.

Le principe est :

Search
   ↓
Replace

Cela permet par exemple de générer des contenus personnalisés au sein d'un e-mail.

Les cas d'utilisation typiques sont :

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

$FormEntry

Avec $FormEntry, on peut définir si l'envoi doit également être enregistré dans l'archive des formulaires.

Avec :

$FormEntry = "JA";

un enregistrement supplémentaire dans la table de base de données sera réalisé :

00_form

enregistré.

Cela permet de documenter l'envoi en tant qu'entrée de formulaire ou d'archive.

Exemple : Envoi d'un e-mail normal

L'exemple suivant envoie un e-mail HTML et texte normal via un compte de messagerie interne.

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

Le processus est simplifié comme suit :

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

Exemple : Envoi d'une newsletter

Pour une newsletter, $MailType est défini sur :

Newsletter

set.

Les destinataires sont ensuite passés via $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);

Les différents destinataires de la newsletter sont séparés au sein de $NewsletterTo par des sauts de ligne.

Utiliser une connexion SMTP externe

Si un serveur de messagerie externe doit être utilisé, il est nécessaire de :

$SMTPType = "Extern";

set.

Les informations d'identification SMTP doivent avoir été configurées au préalable sous :

Email → Server - Extern

avoir été configuré.

Exemple :

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

BlueFormSend()

En plus de l'envoi direct d'e-mails, la fonction :

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

est disponible.

Cette fonction est spécifiquement conçue pour l'envoi d'e-mails en liaison avec des formulaires CMS.

Les variables sont déjà entièrement rédigées en anglais.

Paramètres de BlueFormSend()

Variable Utilisation
$SMTPType Sélectionner l'envoi SMTP interne ou externe
$SendMail Contrôle l'envoi d'e-mails du formulaire
$SendSubject Objet de l'e-mail du formulaire
$CopyToCustomer Contrôle si le client reçoit une copie
$TextToCustomer Texte pour le message au client
$FormArchive Gère l'archivage du formulaire
$FormID ID du formulaire concerné
$SendTo Destinataire de l'e-mail du formulaire

MailCache

Chaque appel de BlueSMTPMail() génère également une entrée dans la table de base de données :

00_MailCache

Cette table permet de contrôler le statut de l'envoi des e-mails.

On peut vérifier par exemple si un e-mail a été traité ou envoyé avec succès.

Les entrées MailCache sont pour :

1 Woche

enregistré.

Flux typique d'envoi de 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

Aperçu des paramètres de BlueSMTPMail

Variable Signification
$MailType E-mail ou newsletter
$MailAccount Compte e-mail à utiliser
$SMTPType Interne ou Externe
$From Adresse de l'expéditeur
$To Destinataire d'un e-mail normal
$NewsletterTo Destinataire de la newsletter, séparés par des retours à la ligne
$Subject Objet de l'e-mail
$TextContent Partie texte de l'e-mail
$HTMLContent Partie HTML de l'e-mail
$Attachments Chemins des pièces jointes
$EmbedImages Intégrer des images directement dans l'e-mail
$MailPlaceholderReplacement Remplacer les espaces réservés dans le contenu de l'e-mail
$FormEntry Générer une entrée facultative dans 00_form

Zusammenfassung

Le système de mail central du CMS bluetronix peut être appelé directement depuis du code PHP propre.

Für normalen E-Mail- und Newsletter-Versand wird verwendet:

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

Pour les formulaires CMS, il est également disponible :

Interne
→ Email → Comptes

ou :

Chaque envoi d'e-mail est également enregistré par :

Ainsi, les développeurs peuvent utiliser le système de mail déjà existant du CMS bluetronix directement depuis leurs propres scripts PHP, sans avoir à implémenter toute la logique SMTP eux-mêmes.

Quelles fonctions le système de mail central fournit-il pour PHP ?

Pour les e-mails normaux et les newsletters, tu utilises BlueSMTPMail(). Pour l'envoi en rapport avec les formulaires CMS, BlueFormSend() est également disponible.

Où puis-je trouver les comptes e-mail internes ?

Les comptes e-mail internes sont configurés sous Email → Comptes. Pour leur envoi, tu dois définir $SMTPType sur Interne. L'adresse de l'expéditeur doit appartenir à un compte configuré.

Comment utiliser un serveur SMTP externe ?

Configure les informations d'accès sous Email → Serveur - Externe et utilise $SMTPType = "Externe";. L'adresse de l'expéditeur doit correspondre à la configuration choisie.

Quelle est la différence entre un e-mail et une newsletter ?

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

Die SMTP-Konfiguration kann entweder über:

Interne
→ Email → Comptes

ou:

Extern
→ Email → Server - Extern

erfolgen.

Chaque envoi de mail est également effectué via:

00_MailCache

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

Ainsi, les développeurs peuvent utiliser directement le système de mail existant du CMS bluetronix depuis leurs propres scripts PHP, sans avoir à implémenter toute la logique SMTP eux-mêmes.

FAQ

ce que nos clients nous demandent souvent

Quelles fonctionnalités le système de mail central offre-t-il pour PHP?

Pour les e-mails normaux et les newsletters, vous utilisez BlueSMTPMail(). Pour l'envoi en relation avec les formulaires CMS, BlueFormSend() est également disponible.

Où puis-je trouver les comptes de messagerie internes?

Les comptes de messagerie internes sont configurés sous Email → Comptes. Pour leur envoi, vous devez définir $SMTPType sur Interne. L'adresse de l'expéditeur doit appartenir à un compte configuré.

Comment utiliser un serveur SMTP externe?

Configurez les identifiants sous Email → Serveur - Externe et utilisez $SMTPType = "Externe";. L'adresse de l'expéditeur doit correspondre à la configuration choisie.

Quelle est la différence entre un mail et une newsletter?

Avec $MailType = "Mail"; un e-mail normal est envoyé, dont le destinataire est dans $To. Pour une newsletter, vous définissez $MailType = "Newsletter"; et passez les destinataires via $NewsletterTo.

Comment transmettre plusieurs destinataires de newsletters?

Entrez les adresses dans $NewsletterTo et séparez chaque adresse e-mail par un saut de ligne.

Puis-je envoyer du texte et du HTML dans le même e-mail?

Oui. Le texte brut est dans $TextContent, tandis que vous passez le message HTML formaté via $HTMLContent.

Comment ajouter des pièces jointes à un e-mail?

Via $Attachments, vous passez les chemins des fichiers dans le site web. Pour plusieurs pièces jointes, les chemins sont séparés par des sauts de ligne.

Comment puis-je intégrer des images directement dans un e-mail?

Le modèle utilise $EmbedImages = "oui"; pour cela. Ainsi, les images utilisées dans le message HTML seront directement intégrées selon la fonction CMS décrite.

À quoi sert MailPlaceholderReplacement?

Cela vous permet de remplacer des espaces réservés dans le contenu texte et HTML par des valeurs individuelles, par exemple pour des noms, numéros de commande ou liens personnels. Le modèle décrit le principe de recherche et de remplacement, mais aucun format de transmission concret.

Comment archiver l'envoi en tant qu'entrée de formulaire?

Définissez la valeur $FormEntry = "OUI"; dans BlueSMTPMail(). Selon le modèle, une entrée sera également enregistrée dans 00_form.

Où puis-je vérifier l'état d'envoi?

Le modèle décrit pour cela la table 00_MailCache. Les entrées d'envoi là-bas sont conservées pendant une semaine. Une entrée de traitement à elle seule ne constitue pas une preuve supplémentaire de livraison au destinataire.

Quand utiliser BlueFormSend() ?

BlueFormSend() est destiné à l'envoi d'e-mails avec des formulaires CMS. Les paramètres incluent notamment le contrôle d'envoi, le sujet, la copie au client, l'archive de formulaires et l'identifiant du formulaire.

CMS