Uma nova forma de envio de correio

Tradução automática de Deepl

Sabemos da importância do envio de e-mails e de uma tarefa comum que se tornou nas aplicações actuais. Por exemplo, imagine que está num negócio e quer enviar um e-mail atraente baseado em HTML com algumas imagens ou mesmo um vídeo, e anexar-lhe um ficheiro(por exemplo, uma ordem de compra ou uma factura). E quer fazer tudo isto com apenas algumas linhas de código. Código que seja fácil de escrever e compreender. Bem, começando com 4D v17 R4, o cenário anterior é agora possível. É por isso que alargámos o conjunto de funcionalidades relacionadas com e-mails.

O SMTP New transporter permite o envio de um e-mail em três passos simples:

  • Crie o seu transportador SMTP
  • Crie o seu e-mail
  • Envie o seu e-mail

HDI criar e enviar um e-mail

Criar um e-mail

Um e-mail é um objecto com muitas propriedades descritas no comando transporter.send() documentação. Segue-se um exemplo de como criar um e-mail com informações como o autor, os destinatários, o assunto, o corpo da mensagem, e anexos.

Vamos começar por especificar o autor do e-mail:

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

Depois os destinatários (usando diferentes sintaxes):

//Originating addresses
$email.to:="
@mail.com"
// Carbon Copy $email .cc:=New object("name"; "Stephen"; "email"; " ")
address1@mail.com,address2// Blind Carbon Copy
$email .bcc:=" @mail.com"

A seguir, vamos acrescentar um tema:

$email.subject:="Olá mundo"

E o corpo … Pode especificar dois tipos, um texto:

$email.textBody:="Correio de teste". Isto é apenas um e-mail de teste. Por favor, ignore-o".

ou HTML:

$email.htmlBody:="<html><corpo><h1>Mail de teste </h1> Este é apenas um e-mail de teste <br /> Por favor ignore-o</corpo></html>"

Pode utilizá-los aos dois ao mesmo tempo ou separadamente. Se utilizar ambos, o visor depende do e-mail do cliente utilizado pelo destinatário.

Finalmente, podemos adicionar um ficheiro anexo com o MAIL New attachment comando:

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

criar um transportador SMTP

Agora que temos o nosso e-mail, precisamos de o enviar. Para isso, é necessário indicar qual o servidor SMTP que queremos utilizar com o SMTP New transporter comando:

$smtp:=New object
$smtp .host:="smtp.hostname"
$smtp .port:=25
$smtp .user:="Utilizador"
$smtp .password:="Palavra-passe"
$smtpTransporter :=SMTP New transporter($smtp)

Enviar o e-mail

A etapa final é o envio do e-mail:

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

Aqui está o e-mail de teste recebido na sua caixa de correio:

Como pode ver nos exemplos acima, a criação e envio de correio electrónico foi drasticamente melhorada e é muito fácil de utilizar. Há muito poder escondido. Pode testar facilmente as configurações do transportador (credenciais do utilizador, dados do servidor), anexos podem ser especificados como anexos ou em linha (dentro do HTML), e muito mais. Esta é a primeira de várias funcionalidades em pipeline e iremos liberar iterativamente mais e mais funcionalidades com cada lançamento R.

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.