Scarica l'app ora e prova gratuitamente per 10 giorni
Valuta Seleziona la lingua Seleziona regione

Obiettivo del tutorial

Nota: Questo tutorial si rivolge agli sviluppatori e mostra come il sistema di posta integrato del bluetronix CMS può essere chiamato direttamente tramite PHP.

Il bluetronix CMS offre funzioni PHP centralizzate per l'invio di email.

In questo modo, le connessioni SMTP, gli account email e le funzioni base di invio non devono essere riprogrammati per ogni singolo script PHP.

Per l'invio diretto di email e newsletter è disponibile la seguente funzione:

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

Per l'invio di email di modulo è disponibile anche la seguente funzione:

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

BlueSMTPMail()

Con BlueSMTPMail() è possibile inviare email normali e newsletter tramite il sistema di posta centrale del bluetronix CMS.

La chiamata della funzione è:

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

$MailType

Determina che tipo di email deve essere inviata.

Valori possibili:

Mail
Newsletter

Esempio:

$MailType = "Mail";

oppure:

$MailType = "Newsletter";

$MailAccount

$MailAccount determina l'account email i cui parametri SMTP vengono utilizzati.

Questo valore viene utilizzato per caricare i dati di configurazione SMTP corrispondenti dalle tabelle del database CMS.

Quale configurazione viene utilizzata dipende anche da $SMTPType.

$SMTPType

Determina se si utilizza un account email interno o esterno.

Valori possibili:

Intern
Extern

Interno

Con:

$SMTPType = "Intern";

viene utilizzato un account email che è stato creato direttamente nel bluetronix CMS.

Gli account si trovano sotto:

Email → Accounts

L'indirizzo del mittente utilizzato in $From deve essere presente come account.

Esterno

Con:

$SMTPType = "Extern";

vengono utilizzati dati di accesso SMTP esterni.

Questi sono gestiti nel CMS sotto:

Email → Server - Extern

L'indirizzo del mittente utilizzato in $From deve essere configurato di conseguenza.

L'indirizzo del mittente utilizzato in $From deve essere configurato di conseguenza.

$From

Contiene l'indirizzo e-mail del mittente.

Esempio:

$From = "info@example.com";

L'indirizzo e-mail deve corrispondere alla configurazione SMTP selezionata.

$To

Contiene l'indirizzo e-mail del destinatario di un'e-mail normale.

Esempio:

$To = "customer@example.com";

In un invio di e-mail normale, questa variabile viene utilizzata come destinatario.

$NewsletterTo

$NewsletterTo viene utilizzato durante l'invio della newsletter.

La variabile contiene più indirizzi e-mail come testo. Ogni indirizzo e-mail è separato da un'interruzione di riga.

Esempio:

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

$Subject

Contiene l'oggetto dell'e-mail.

Esempio:

$Subject = "Welcome to our website";

$TextContent

Contiene la parte di testo semplice dell'e-mail.

Questa parte può essere utilizzata ad esempio da programmi di posta elettronica che non visualizzano e-mail HTML.

Esempio:

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

$HTMLContent

Contiene la parte HTML dell'e-mail.

Esempio:

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

In questo modo possono essere inviate e-mail formattate con intestazioni, testi, collegamenti, immagini e ulteriori elementi HTML.

$Attachments

Con $Attachments è possibile allegare file all'e-mail.

I file vengono specificati tramite il loro percorso all'interno del sito web.

Esempio:

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

In caso di più allegati, i singoli percorsi dei file sono separati da un'interruzione di riga.

Esempio:

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

$EmbedImages

Con $EmbedImages si può stabilire se le immagini debbano essere incorporate direttamente nell'e-mail.

Esempio:

$EmbedImages = "ja";

Se l'opzione è attivata, le immagini utilizzate nell'e-mail HTML vengono integrate direttamente nell'e-mail e non caricate esclusivamente tramite URL esterni.

In questo modo le immagini possono essere disponibili direttamente nell'e-mail per il destinatario, senza dover prima essere caricate separatamente dal server web.

$MailPlaceholderReplacement

Con $MailPlaceholderReplacement è possibile sostituire i segnaposto all'interno di:

$TextContent
$HTMLContent

con valori personalizzati.

Il principio è:

Search
   ↓
Replace

In questo modo possono essere ad esempio generati contenuti personalizzati all'interno di un'e-mail.

Usi tipici sono:

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

$FormEntry

Con $FormEntry si può decidere se l'invio deve essere salvato anche nell'archivio dei moduli.

Con:

$FormEntry = "JA";

verrà inoltre registrata un'entrata nella tabella del database:

00_form

salvato.

In questo modo, la spedizione può essere documentata sia come voce del modulo che come voce dell'archivio.

Esempio: Invio di un'email normale

Il seguente esempio invia un'email normale in HTML e testo tramite un account email interno.

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

Il processo semplificato è il seguente:

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

Esempio: Invio di una newsletter

Per una newsletter, $MailType è impostato su:

Newsletter

assegnato.

I destinatari vengono quindi passati tramite $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);

I singoli destinatari della newsletter sono separati da interruzioni di riga all'interno di $NewsletterTo.

Utilizzare una connessione SMTP esterna

Se si desidera utilizzare un server di posta esterno, viene:

$SMTPType = "Extern";

assegnato.

I dati di accesso SMTP devono essere configurati in precedenza su:

Email → Server - Extern

essere stati impostati.

Esempio:

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

BlueFormSend()

In aggiunta alla spedizione diretta delle email, è disponibile la funzione:

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

Questo è specificamente previsto per l'invio di email in connessione con i moduli CMS.

Le variabili sono già completamente scritte in inglese.

Variabile

Parametri di BlueFormSend()

Utilizzo $SMTPType
Seleziona l'invio SMTP interno o esterno $SendMail
Controlla l'invio dell'email del modulo $SendSubject
Oggetto dell'email del modulo $CopyToCustomer
Controlla se il cliente riceve una copia Controlla se il cliente riceve una copia
$TextToCustomer Testo per il messaggio al cliente
$FormArchive Controlla l'archiviazione del modulo
$FormID ID del modulo in questione
$SendTo Destinatario dell'email del modulo

MailCache

Ogni chiamata a BlueSMTPMail() genera anche un'entrata nella tabella del database:

00_MailCache

Attraverso questa tabella è possibile controllare lo stato della spedizione delle email.

È possibile verificare, ad esempio, se un'email è stata elaborata o inviata con successo.

Le voci MailCache vengono utilizzate per:

1 Woche

salvato.

Flusso tipico di un invio 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

Panoramica dei parametri di BlueSMTPMail

Utilizzo Significato
$MailType Email o newsletter
$MailAccount Account email da utilizzare
Seleziona l'invio SMTP interno o esterno Interno o esterno
$From Indirizzo del mittente
$To Destinatario di un'email normale
$NewsletterTo Destinatari della newsletter, separati da interruzioni di riga
$Subject Oggetto dell'e-mail
$TextContent Parte testuale dell'e-mail
$HTMLContent Parte HTML dell'e-mail
$Attachments Percorsi dei file degli allegati
$EmbedImages Integrare immagini direttamente nell'e-mail
$MailPlaceholderReplacement Sostituire i segnaposto all'interno del contenuto dell'e-mail
$FormEntry Genera voce optional in 00_form

Zusammenfassung

Il sistema di posta centrale del bluetronix CMS può essere chiamato direttamente dal proprio codice 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);

Per i moduli del CMS è disponibile anche:

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

Die SMTP-Konfiguration kann entweder über:

Intern
→ Email → Accounts

oppure:

Extern
→ Email → Server - Extern

erfolgen.

Ogni invio di e-mail viene inoltre gestito tramite:

00_MailCache

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

In questo modo, gli sviluppatori possono utilizzare direttamente il sistema di posta esistente del bluetronix CMS dai propri script PHP, senza dover implementare tutta la logica SMTP.

FAQ

cosa ci chiedono spesso i clienti

Quali funzioni offre il sistema di posta centrale per PHP?

Per e-mail normali e newsletter utilizzi BlueSMTPMail(). Per l'invio in relazione ai moduli del CMS è disponibile anche BlueFormSend().

Dove posso trovare gli account e-mail interni?

Gli account e-mail interni vengono configurati sotto Email → Accounts. Per la loro spedizione imposta $SMTPType su Intern. L'indirizzo del mittente deve appartenere a un account configurato.

Come utilizzo un server SMTP esterno?

Configura le credenziali sotto Email → Server - Esterno e utilizza $SMTPType = "Esterno";. L'indirizzo del mittente deve corrispondere alla configurazione scelta.

Qual è la differenza tra Mail e Newsletter?

Con $MailType = "Mail"; viene inviato un normale e-mail, i cui destinatari sono in $To. Per una newsletter imposti $MailType = "Newsletter"; e trasmetti i destinatari tramite $NewsletterTo.

Come posso inviare più destinatari per una newsletter?

Inserisci gli indirizzi in $NewsletterTo e separa ogni indirizzo e-mail con una nuova riga.

Posso inviare testo e HTML nella stessa e-mail?

Sì. Il testo semplice è in $TextContent, mentre trasmetti il messaggio HTML formattato tramite $HTMLContent.

Come posso aggiungere allegati a un'e-mail?

Trasmetti i percorsi dei file all'interno del sito web tramite $Attachments. Nel caso di più allegati, i percorsi sono separati da nuove righe.

Come posso incorporare immagini direttamente in un'e-mail?

Il modello utilizza $EmbedImages = "sì";. In questo modo le immagini utilizzate nel messaggio HTML vengono incorporate direttamente secondo la funzione CMS descritta.

A cosa serve MailPlaceholderReplacement?

Ti consente di sostituire i segnaposto nel contenuto di testo e HTML con valori individuali, ad esempio per nomi, numeri d'ordine o link personali. Il modello descrive il principio di ricerca e sostituzione, ma non un formato di trasmissione concreto.

Come posso archiviare l'invio anche come voce del modulo?

Imposta nel BlueSMTPMail() il valore $FormEntry = "SÌ";. Secondo il modello, verrà quindi memorizzata anche una voce in 00_form.

Dove posso controllare lo stato dell'invio?

Il modello descrive la tabella 00_MailCache. Le voci di invio create verranno archiviate per una settimana. Una voce di elaborazione da sola non è una prova aggiuntiva della consegna al destinatario.

Quando uso BlueFormSend()?

BlueFormSend() è destinato all'invio di e-mail con i moduli CMS. I parametri includono, tra l'altro, il controllo dell'invio, l'oggetto, la copia per il cliente, l'archiviazione del modulo e l'ID del modulo.

CMS