Sabemos la importancia del envío de correos electrónicos y lo común que se ha vuelto esta tarea en las aplicaciones actuales. Por ejemplo, imagina que tienes una empresa y quieres enviar un correo electrónico atractivo basado en HTML con algunas imágenes o incluso un vídeo, y adjuntarle un archivo (porejemplo, una orden de compra o una factura). Y quieres hacer todo esto con unas pocas líneas de código. Un código que sea fácil de escribir y de entender. Pues bien, a partir de 4D v17 R4, el escenario anterior es ahora posible. Por eso hemos ampliado el conjunto de funcionalidades relacionadas con los correos electrónicos.
El comando SMTP New transporter le permite enviar un correo electrónico en tres sencillos pasos:
- Cree su transportador SMTP
- Cree su correo electrónico
- Envíe su correo electrónico
HDI crear y enviar un correo electrónico
Crear un correo electrónico
Un correo electrónico es un objeto con un montón de propiedades descritas en la transporter.send() documentación. A continuación se muestra un ejemplo de cómo crear un correo electrónico con información como el autor, los destinatarios, el asunto, el cuerpo del mensaje y los archivos adjuntos.
Comencemos por especificar el autor del correo electrónico:
$email:=New object
»
$email .from:="noreply.mail@4d.com
A continuación, los destinatarios (utilizando diferentes sintaxis):
//Originating addresses
$email.to:="address1@mail.com,address2@mail.com"
// Carbon Copy
$email .cc:=New object("nombre"; "Stephen"; "correo electrónico"; "address3@mail.com")
// Blind Carbon Copy
$email .bcc:="address4@mail.com,address5@mail.com"
A continuación, añadamos un asunto:
$email.subject:="Hola mundo"
Y el cuerpo … Puedes especificar dos tipos, un texto:
$email.textBody:="Correo de prueba \N - Esto es sólo un correo de prueba \N - Por favor, ignórelo"
o HTML:
$email.htmlBody:="<html><body><h1>Correo de prueba </h1>Esto es sólo un correo de prueba <br /> Por favor, ignórelo</body></html>"
Puedes usar los dos a la vez o por separado. Si utiliza ambos, la visualización depende del correo electrónico del cliente que utilice el destinatario.
Por último, podemos añadir un archivo adjunto con el MAIL New attachment comando:
$email.attachments:=New collection(MAIL New attachment("c:\tmp\4d.png"))
crear un transportador SMTP
Ahora que tenemos nuestro correo electrónico, tenemos que enviarlo. Para ello, es necesario indicar qué servidor SMTP queremos utilizar con el comando SMTP New transporter comando:
$smtp:=New object
$smtp .host:="smtp.hostname"
$smtp .port:=25
$smtp .user:="Usuario"
$smtp .password:="Contraseña"
$smtpTransporter :=SMTP New transporter($smtp)
Enviar el correo electrónico
El último paso es el envío del correo electrónico:
$status:=$smtpTransporter.send($email
)
Aquí está el correo electrónico de prueba recibido en su buzón:
Como puedes ver en los ejemplos anteriores, la creación y el envío de correos electrónicos se ha mejorado drásticamente y es muy fácil de usar. Hay mucha potencia oculta. Puedes probar fácilmente la configuración del transportador (credenciales de usuario, datos del servidor), los archivos adjuntos se pueden especificar como adjuntos o en línea (dentro del HTML), y mucho más. Esta es la primera de varias características en la tubería y vamos a liberar iterativamente más y más características con cada lanzamiento de R.