4D v18

SMTP New transporter

Página Inicial

 
4D v18
SMTP New transporter

SMTP New transporter 


 

SMTP New transporter ( servidor ) -> Resultado 
Parâmetro Tipo   Descrição
servidor  Objeto in Informação de servidor de email
Resultado  Objeto in objeto transporter SMTP

O comando SMTP New transporter configura uma nova conexão SMTP de acordo com o parâmetro servidor e devolve um novo objeto transportador. O objeto transportador devolvido geralmente será usado para enviar correios.

No parâmetro servidor, passe um objeto que contenha as propriedades abaixo:

PropriedadeTipoDescrição
hostTextoNome ou endereço IP do servidor local para usar em transações SMTP. 
portNúmero(opcional) Porta a utilizar para transações SMTP. Valor pré-determinado=587
keepAliveBooleanopara manter a conexão ativa até que se destrua o objeto transportador. Valor padrão=True
connectionTimeOutNúmero(opcional) Tempo de espera máximo (em segundos) para estabelecer uma conexão com o servidor. Valor pré-determinado=30
sendTimeOutNúmero(opcional) Tempo máximo de espera (em segundos) de uma chamada sendMail antes do tempo de espera. Valor pré-determinado=100
authenticationModeTextoModo de autenticação utilizado para abrir a sessão no servidor SMTP (*). Valores possíveis:
Constante Valor Comentário
SMTP authentication CRAM MD5 CRAM-MD5 Autentificação SMTP via o protocolo CRAM-MD5
SMTP authentication login LOGIN Autentificação SMTP via o protocolo LOGIN
SMTP authentication plain PLAIN Autentificação SMTP via o protocolo PLAIN
userTextoNome de usuário para a autenticação no servidor
passwordTextoSenha de usuário para a autenticação no servidor
acceptUnsecureConnectionBooleanoTrue para permitir que 4D estabeleça uma conexão não cifrada se a conexão cifrada não for possível (**). Se for False, um erro é devolvido se a conexão cifrada não for possível. Valor pré-determinado=False
logFileText(optional) Rota para o arquivo histórico ampliado(***). Pode ser relativo (à pasta atual de Logs) ou absoluto
headerCharsetTexto(opcional) Charset e codificação utilizada para as seguintes parte do email: assunto, nomes de arquivos adjuntos, e atributos de nome de email. Valores possíveis:
Constante Valor Comentário
mail mode ISO2022JP US-ASCII_ISO-2022-JP_UTF8_QP
  • headerCharset: US-ASCII se for possível, japonês (ISO-2022-JP) & Quoted-printable i se for possível, se não UTF-8 & Quoted-printable
  • bodyCharset: US-ASCII se for possível, japonês (ISO-2022-JP) & 7 bits se for possível, do contrário UTF-8 & Quoted-printable
mail mode ISO88591 ISO-8859-1
  • headerCharset: ISO-8859-1 & Quoted-printable
  • bodyCharset: ISO-8859-1 & 8-bit
mail mode UTF8 US-ASCII_UTF8_QP

headerCharset & bodyCharset: US-ASCII se for possível, do contrário UTF-8 & Quoted-printable (valor predeterminado)

bodyCharsetTexto(opcional) Charset e codificación utilizada para o conteúdo html e corpo de texto de email. Valores possíveis: igual que para headerCharset (ver acima)

(*) Se authenticationMode for nulo ou não definido é utilizado o modo de autenticação mais seguro permitido pelo servidor.

(**) As portas seguras SMTP disponíveis são:

  • 465: SMTPS
  • 587 ou 25: SMTP com atualização STARTTLS se o servidor admitir.

(***) Ao contrário de arquivos histórico normais (ativados com o comando SET DATABASE PARAMETER), arquivos de log estendidos armazenam conteúdos MIME de todos os emails enviados e não tem um tamanho limite. Para saber mais, veja a seção 4DSMTPLog.txt.

Objeto Retornado

O objeto transportador devolvido contém as propriedades e métodos abaixo de apenas leitura:

PropriedadeTipoDescrição
transporter.hostTextoNome ou endereço IP do servidor local utilizado para as transações SMTP.
transporter.portNúmeroPorta utilizada para transações SMTP.
transporter.keepAliveBooleanoTrue se a conexão for mantida ativa até que se destrua o objeto transportador.
transporter.connectionTimeOutNúmeroTempo de espera máximo (em segundos) para estabelecer uma conexão com o servidor.
transporter.sendTimeOutNúmeroTempo de espera máximo (em segundos) de uma chamada sendMail antes do tempo de espera
transporter.acceptUnsecureConnectionnBooleanoTrue se for permitido que 4D estableça uma conexão não cifrada quando a conexão cifrada não for possível. False se não for permitido, em cujo caso um erro é devolvido quando a conexão cifrada não for possível.
transporter.authenticationModeTextoModo de autenticação realmente utilizado para abrir a sessão no servidor SMTP.
transporter.userTextoNome usuário para autenticação no servidor
transporter.logFile TextoRota para o arquivo histórico (se algum)
transporter.headerCharsetTextoCharset e codificação utilizada para o cabeçalho e os nomes de mail
transporter.bodyCharsetTextoCharset e codificação utilizada para o corpo de mail
[#/table]

MethodDescrição

SMTP_transporter.send( )

Envia mensagens.
SMTP_transporter.checkConnection( )Checar autenticação.

Lembre que este comando não abre nenhuma conexão ao servidor SMTP. A conexão SMTP é aberta realmente quando o método for executado SMTP_transporter.send( ).

A conexão SMTP é fechada automaticamente:

  • quando o objeto transportador é destruido se a propriedade keepAlive for verdadeira (como padrão),
  • depois de cada execução do método SMTP_transporter.send( ) se a propriedade keepAlive for definida como falsa.

Exemplo  

 $server:=New object
 $server.host:="smtp.gmail.com" //Mandatory
 $server.port:=465
 $server.user:="4D@gmail.com"
 $server.password:="XXXX"
 $server.logFile:="LogTest.txt" //Amplia o histórico para salvar a pasta Logs
 
 
 $transporter:=SMTP New transporter($server)
 
 $email:=New object
 $email.subject:="my first mail "
 $email.from:="4d@gmail.com"
 $email.to:="4d@4d.com;test@4d.com"
 $email.textBody:="Hello World"
 $email.htmlBody:="<h1>Hello World</h1><h4>'Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...'</h4>\
 <p>Hámuitas variações de passagens de Lorem Ipsum disponíveis."\
 +"O Lorem Impsum gerado é portanto sempre livre de repetição, humor ou palavras não características,. etc.</p>"
 
 $status:=$transporter.send($email)
 If(Not($status.success))
    ALERT("An error occurred sending the mail: "+$status.statusText)
 End if

 



Ver também 

MAIL Convert to MIME
SMTP_transporter.checkConnection( )
SMTP_transporter.send( )
transporter.acceptUnsecureConnection
transporter.authenticationMode
transporter.connectionTimeOut
transporter.host
transporter.keepAlive
transporter.logFile
transporter.port
transporter.sendTimeOut
transporter.user

 
PROPRIEDADES 

Produto: 4D
Tema: Mail
Número 1608

This command can be run in preemptive processes

 
HISTÓRIA 

New
Criado por: 4D v17 R4
Modificado: 4D v17 R5
Modificado: 4D v18

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v18)