Descarga la app ahora y pruébala gratis durante 10 días
Moneda Seleccionar idioma Seleccionar región

Objetivo del tutorial

Nota: Este tutorial está dirigido a desarrolladores y muestra cómo se puede llamar al sistema de correo integrado del CMS bluetronix directamente a través de PHP.

El CMS bluetronix proporciona funciones PHP centrales para el envío de correos electrónicos.

De este modo, no es necesario programar nuevamente conexiones SMTP, cuentas de correo y funciones básicas de envío para cada script PHP propio.

La siguiente función está disponible para el envío directo de correos electrónicos y boletines informativos:

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

Para el envío de correos electrónicos de formularios, además, está disponible la siguiente función:

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

BlueSMTPMail()

Con BlueSMTPMail() se pueden enviar correos electrónicos normales y boletines a través del sistema de correo central del CMS bluetronix.

La llamada a la función es:

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

$MailType

Determina qué tipo de correo electrónico se debe enviar.

Valores posibles:

Mail
Newsletter

Ejemplo:

$MailType = "Mail";

o:

$MailType = "Newsletter";

$MailAccount

$MailAccount determina la cuenta de correo cuyos ajustes SMTP se utilizarán.

A través de este valor se cargan los datos de configuración SMTP correspondientes desde las tablas de la base de datos del CMS.

La configuración utilizada también depende de $SMTPType.

$SMTPType

Determina si se utiliza una cuenta de correo interna o externa.

Valores posibles:

Intern
Extern

Interna

En:

$SMTPType = "Intern";

se utiliza una cuenta de correo que ha sido configurada directamente en el CMS bluetronix.

Las cuentas se encuentran en:

Email → Accounts

La dirección del remitente utilizada en $From debe estar presente allí como cuenta.

Externa

En:

$SMTPType = "Extern";

se utilizan datos de acceso SMTP externos.

Estos se gestionan en el CMS en:

Email → Server - Extern

La dirección del remitente utilizada en $From debe estar configurada adecuadamente allí.

La dirección del remitente utilizada en $From debe estar configurada adecuadamente.

$From

Contiene la dirección de correo electrónico del remitente.

Ejemplo:

$From = "info@example.com";

La dirección de correo electrónico debe coincidir con la configuración SMTP elegida.

$To

Contiene la dirección de correo electrónico del destinatario de un correo electrónico normal.

Ejemplo:

$To = "customer@example.com";

En un envío de correo normal, esta variable se utiliza como destinatario.

$NewsletterTo

$NewsletterTo se utiliza en el envío de boletines.

La variable contiene varias direcciones de correo electrónico como texto. Cada dirección de correo electrónico se separa por un salto de línea.

Ejemplo:

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

$Subject

Contiene el asunto del correo electrónico.

Ejemplo:

$Subject = "Welcome to our website";

$TextContent

Contiene la parte de texto plano del correo electrónico.

Esta parte puede ser utilizada, por ejemplo, por programas de correo electrónico que no muestran correos HTML.

Ejemplo:

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

$HTMLContent

Contiene la parte HTML del correo electrónico.

Ejemplo:

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

Esto permite enviar correos electrónicos formateados con encabezados, textos, enlaces, imágenes y otros elementos HTML.

$Attachments

Con $Attachments se pueden adjuntar archivos al correo electrónico.

Los archivos se especifican a través de su ruta dentro de la página web.

Ejemplo:

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

Con varios adjuntos, las rutas de los archivos individuales se separan por un salto de línea.

Ejemplo:

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

$EmbedImages

Con $EmbedImages se puede determinar si las imágenes deben estar incrustadas directamente en el correo electrónico.

Ejemplo:

$EmbedImages = "ja";

Con la opción activada, las imágenes utilizadas dentro del correo HTML se integran directamente en el correo y no se cargan exclusivamente a través de URL externas.

De esta manera, las imágenes pueden estar disponibles directamente en el correo para el destinatario, sin necesidad de ser cargadas previamente desde el servidor web.

$MailPlaceholderReplacement

Con $MailPlaceholderReplacement se pueden reemplazar los marcadores dentro de:

$TextContent
$HTMLContent

por valores individuales.

El principio es:

Search
   ↓
Replace

De esta forma, se pueden generar contenidos personalizados dentro de un correo electrónico.

Las aplicaciones típicas son:

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

$FormEntry

Con $FormEntry se puede determinar si el envío también debe guardarse en el archivo del formulario.

En:

$FormEntry = "JA";

se añade una entrada adicional en la tabla de la base de datos:

00_form

guardado.

Esto permite documentar el envío simultáneamente como un artículo de formulario o archivo.

Ejemplo: Enviar un correo electrónico normal

El siguiente ejemplo envía un correo electrónico HTML y de texto normal a través de una cuenta de correo interna.

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

El procedimiento es, de forma simplificada:

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

Ejemplo: Enviar un boletín

Para un boletín, se establece $MailType en:

Newsletter

se establece.

Los destinatarios se pasan posteriormente a través de $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);

Los destinatarios individuales del boletín se separan dentro de $NewsletterTo por saltos de línea.

Usar conexión SMTP externa

Si se va a utilizar un servidor de correo externo, se debe:

$SMTPType = "Extern";

se establece.

Los datos de acceso SMTP deben haber sido configurados previamente en:

Email → Server - Extern

se debe haber configurado.

Ejemplo:

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

BlueFormSend()

Además del envío directo de correos electrónicos, está disponible la función:

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

disponible.

Esta función está destinada específicamente para el envío de correos electrónicos en conexión con formularios de CMS.

Las variables ya están completamente en inglés.

Parámetros de BlueFormSend()

Variable Uso
$SMTPType Seleccionar envío SMTP interno o externo
$SendMail Controla el envío de correos del formulario
$SendSubject Asunto del correo electrónico del formulario
$CopyToCustomer Controla si el cliente recibe una copia
$TextToCustomer Texto para el mensaje al cliente
$FormArchive Controla la archivación del formulario
$FormID ID del formulario correspondiente
$SendTo Destinatario del correo del formulario

MailCache

Cada llamada a BlueSMTPMail() genera adicionalmente una entrada en la tabla de la base de datos:

00_MailCache

A través de esta tabla se puede controlar el estado del envío del correo.

Allí se puede, por ejemplo, verificar si un correo electrónico fue procesado o enviado con éxito.

Las entradas de MailCache se utilizan para:

1 Woche

guardado.

Flujo típico de envío de un correo

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

Resumen de los parámetros de BlueSMTPMail

Variable Significado
$MailType Correo o boletín
$MailAccount Cuenta de correo a utilizar
$SMTPType Interno o externo
$From Dirección del remitente
$To Destinatario de un correo electrónico normal
$NewsletterTo Destinatarios del boletín, separados por saltos de línea
$Subject Asunto del correo electrónico
$TextContent Parte de texto del correo electrónico
$HTMLContent Parte HTML del correo electrónico
$Attachments Rutas de archivo de los adjuntos
$EmbedImages Incorporar imágenes directamente en el correo electrónico
$MailPlaceholderReplacement Reemplazar marcadores de posición dentro del contenido del correo
$FormEntry Generar entrada opcional en 00_form

Zusammenfassung

El sistema de correo central del CMS bluetronix se puede invocar directamente desde código PHP propio.

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

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

Para formularios de CMS, está disponible adicionalmente:

Interno
→ Email → Cuentas

o:

Cada envío de correo se registra adicionalmente a través:

Esto permite a los desarrolladores utilizar el sistema de correo existente del CMS bluetronix directamente desde sus propios scripts PHP, sin tener que implementar toda la lógica SMTP por sí mismos.

¿Qué funciones proporciona el sistema de correo central para PHP?

Para correos electrónicos normales y boletines, utilizas BlueSMTPMail(). Para el envío en relación con formularios de CMS, también está disponible BlueFormSend().

¿Dónde encuentro las cuentas de correo electrónico internas?

Las cuentas de correo internas se configuran en Email → Cuentas. Para su envío, establece $SMTPType en Interno. La dirección del remitente debe pertenecer a una cuenta configurada.

¿Cómo uso un servidor SMTP externo?

Configura los datos de acceso en Email → Servidor - Externo y utiliza $SMTPType = "Externo";. La dirección del remitente debe coincidir con la configuración elegida.

¿Cuál es la diferencia entre correo y boletín?

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

Die SMTP-Konfiguration kann entweder über:Intern → Correo → Cuentas o:

Extern
→ Email → Server - Extern

erfolgen.Cada envío de correo se realizará además a través de:

00_MailCache

protokolliert. Die entsprechenden Cache-Einträge bleiben eine Woche erhalten.De este modo, los desarrolladores pueden utilizar directamente el sistema de correo existente del CMS de bluetronix desde sus propios scripts PHP, sin tener que implementar toda la lógica SMTP ellos mismos.

Preguntas Frecuentes

lo que los clientes nos preguntan con frecuencia

¿Qué funciones proporciona el sistema de correo central para PHP?

Para correos electrónicos normales y boletines usas BlueSMTPMail(). Para el envío en conexión con formularios del CMS, además está disponible BlueFormSend().

¿Dónde encuentro las cuentas de correo internas?

Las cuentas de correo internas se configuran en Correo → Cuentas. Para su envío, estableces $SMTPType en Interno. La dirección del remitente debe pertenecer a una cuenta configurada.

¿Cómo uso un servidor SMTP externo?

Configura los datos de acceso en Correo → Servidor - Externo y utiliza $SMTPType = "Externo";. La dirección del remitente debe coincidir con la configuración elegida.

¿Cuál es la diferencia entre correo y boletín?

Con $MailType = "Correo"; se envía un correo electrónico normal, cuyos destinatarios están en $To. Para un boletín, estableces $MailType = "Boletín"; y pasas los destinatarios a través de $NewsletterTo.

¿Cómo paso múltiples destinatarios de un boletín?

Introduce las direcciones en $NewsletterTo y separa cada dirección de correo electrónico con un salto de línea.

¿Puedo enviar texto y HTML en el mismo correo?

Sí. El texto puro se encuentra en $TextContent, mientras que el mensaje HTML formateado se pasa a través de $HTMLContent.

¿Cómo añado archivos adjuntos a un correo?

A través de $Attachments pasas las rutas de archivos dentro del sitio web. Para múltiples archivos adjuntos, las rutas se separan mediante saltos de línea.

¿Cómo puedo incrustar imágenes directamente en un correo?

La plantilla utiliza para ello $EmbedImages = "sí";. Esto incrusta directamente las imágenes utilizadas en el mensaje HTML según la función CMS descrita.

¿Para qué se utiliza MailPlaceholderReplacement?

Esto te permite reemplazar marcadores en el contenido de texto y HTML por valores individuales, como nombres, números de pedido o enlaces personales. La plantilla describe el principio de búsqueda y reemplazo, pero no un formato de transmisión concreto.

¿Cómo archivo el envío adicionalmente como entrada de formulario?

Configura en BlueSMTPMail() el valor $FormEntry = "SÍ";. Según la plantilla, se guardará adicionalmente una entrada en 00_form.

¿Dónde puedo comprobar el estado del envío?

La plantilla describe para ello la tabla 00_MailCache. Las entradas de envío allí creadas se almacenarán durante una semana. Una entrada de procesamiento por sí sola no es una prueba adicional de la entrega al destinatario.

¿Cuándo debo usar BlueFormSend()?

BlueFormSend() está destinado al envío de correos electrónicos con formularios CMS. Entre los parámetros se incluyen el control de envío, el asunto, la copia para el cliente, el archivo del formulario y el ID del formulario.

CMS