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
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.