Un nuovo modo di inviare le e-mail

Tradotto automaticamente da Deepl

Sappiamo quanto sia importante l’invio di e-mail e quanto sia diventata un’attività comune nelle applicazioni odierne. Ad esempio, immaginiamo di avere un’attività commerciale e di voler inviare un’e-mail attraente basata su HTML con alcune immagini o persino un video, allegandovi un file(ad esempio, un ordine di acquisto o una fattura). E volete fare tutto questo con poche righe di codice. Codice che sia facile da scrivere e da capire. A partire da 4D v17 R4, lo scenario precedente è ora possibile. Ecco perché abbiamo ampliato il set di funzionalità relative alle e-mail.

Il comando SMTP New transporter permette di inviare un’e-mail in tre semplici passi:

  • Creare il trasportatore SMTP
  • Creare l’e-mail
  • Inviare l’e-mail

HDI crea e invia un’e-mail

Creare un’e-mail

Un’email è un oggetto con molte proprietà descritte nella documentazione. transporter.send() documentazione. Di seguito è riportato un esempio di come creare un’email con informazioni quali l’autore, i destinatari, l’oggetto, il corpo del messaggio e gli allegati.

Iniziamo specificando l’autore dell’e-mail:

$email:=New object
$email .from:="noreply.mail@4d.com

Poi i destinatari (usando sintassi diverse):

//Originating addresses
$email.to:="address1@mail.com,address2@mail.com"
// Carbon Copy
$email .cc:=New object("nome"; "Stefano"; "email"; "address3@mail.com")
// Blind Carbon Copy
$email .bcc:="address4@mail.com,address5@mail.com"

Aggiungiamo poi un oggetto:

$email.subject:="Ciao mondo"

E il corpo … Si possono specificare due tipi: un testo:

$email.textBody:="Posta di prova \r\n Questa è solo un'e-mail di prova \r\n Ignoratela".

o HTML:

$email.htmlBody:="<html><body><h1>Mail di prova </h1> Questa è solo un'e-mail di prova <br /> Si prega di ignorarla</body></html>".

È possibile utilizzarli entrambi contemporaneamente o separatamente. Se si usano entrambi, la visualizzazione dipende dal client di posta elettronica utilizzato dal destinatario.

Infine, possiamo aggiungere un file allegato con il comando MAIL New attachment :

$email.attachments:=New collection(MAIL New attachment("c:\\tmp\4d.png"))

creare un trasportatore SMTP

Ora che abbiamo la nostra e-mail, dobbiamo inviarla. A tale scopo, è necessario indicare quale server SMTP si vuole utilizzare con il comando SMTP New transporter comando:

$smtp:=New object
$smtp .host:="smtp.hostname"
$smtp .port:=25
$smtp .user:="User"
$smtp .password:="Password"
$smtpTransporter :=SMTP New transporter($smtp)

Inviare l’e-mail

Il passo finale è l’ invio dell’e-mail:

$status:=$smtpTransporter.send($email)

Ecco l’e-mail di prova ricevuta nella casella di posta elettronica:

Come si può vedere negli esempi precedenti, la creazione e l’invio di e-mail è stata drasticamente migliorata ed è molto facile da usare. C’è molta potenza nascosta. È possibile testare facilmente le impostazioni del trasportatore (credenziali utente, dati del server), gli allegati possono essere specificati come allegati o inline (all’interno dell’HTML) e molto altro ancora. Questa è la prima di molte funzionalità in cantiere e ne rilasceremo sempre di più a ogni rilascio di R.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.