4D v18

SMTP New transporter

Inicio

 
4D v18
SMTP New transporter

SMTP New transporter 


 

SMTP New transporter ( servidor ) -> Resultado 
Parámetro Tipo   Descripción
servidor  Objeto in Información del servidor de correo
Resultado  Objeto in Objeto transportador SMTP

El comando SMTP New transporter configura una nueva conexión SMTP de acuerdo con el parámetro servidor y devuelve un nuevo objeto transportador. El objeto transportador devuelto usualmente se usará para enviar correos.

En el parámetro servidor, pase un objeto que contenga las siguientes propiedades:

PropiedadTipoDescripción
hostTextoNombre o dirección IP del servidor local para usar en transacciones SMTP. 
portNúmero(opcional) Puerto a utilizar para transacciones SMTP. Valor predeterminado=587
keepAliveBooleanopara mantener la conexión activa hasta que se destruya el objeto transportador. Valor por defecto=True
connectionTimeOutNúmero(opcional) Tiempo de espera máximo (en segundos) para establecer una conexión con el servidor. Valor predeterminado=30
sendTimeOutNúmero(opcional) Tiempo máximo de espera (en segundos) de una llamada sendMail antes del tiempo de espera. Valor predeterminado=100
authenticationModeTextoModo de autenticación utilizado para abrir la sesión en el servidor SMTP (*). Valores posibles:
Constante Valor Comentario
SMTP authentication CRAM MD5 CRAM-MD5 Autentificación SMTP vía el protocolo CRAM-MD5
SMTP authentication login LOGIN Autentificación SMTP vía el protocolo LOGIN
SMTP authentication plain PLAIN Autentificación SMTP vía el protocolo PLAIN
userTextoNombre de usuario para la autenticación en el servidor
passwordTextoContraseña de usuario para la autenticación en el servidor
acceptUnsecureConnectionBooleanoTrue para permitir que 4D establezca una conexión no cifrada si la conexión cifrada no es posible (**). Si es False, se devuelve un error si la conexión cifrada no es posible. Valor predeterminado=False
logFileTexto(opcional) Ruta del archivo para el archivo de registro extendido(***). Puede ser relativo (a la carpeta Logs actual) o absoluto
headerCharsetTexto(opcional) Charset y codificación utilizada para las siguientes parte del email: asunto, nombres de archivos adjuntos, y atributos de nombre de email. Valores posibles:
Constante Valor Comentario
mail mode ISO2022JP US-ASCII_ISO-2022-JP_UTF8_QP
  • headerCharset: US-ASCII si es posible, japonés (ISO-2022-JP) & Quoted-printable i si es posible, si no UTF-8 & Quoted-printable
  • bodyCharset: US-ASCII si es posible, japonés (ISO-2022-JP) & 7 bits si es posible, de lo contrario 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 si es posible, de lo contrario UTF-8 & Quoted-printable (valor predeterminado)

mail mode UTF8 in base64 US-ASCII_UTF8_B64

headerCharset & bodyCharset: US-ASCII si es posible, de lo contrario UTF-8 & base64

bodyCharsetTexto(opcional) Charset y codificación utilizada para el contenido html y cuerpo de texto del email. Valores posibles: igual que para headerCharset (ver arriba)

(*) Si authenticationMode es nulo o no definido, se utiliza el modo de autenticación más seguro soportado por el servidor.

(**) Los puertos seguros SMTP disponibles son:

  • 465: SMTPS
  • 587 o 25: SMTP con actualización STARTTLS si el servidor lo admite.

(***) A direferencia de los archivos de historial regulares (activado vía el comando SET DATABASE PARAMETER), los archivos de registro extendido almacenan los contenidos MIME de todos los email enviados y no tienen límite de tamaño. Para mayor información, consulte la sección 4DSMTPLog.txt.

Objeto devuelto

El objeto transportador devuelto contiene las siguientes propiedades y métodos de solo lectura:

PropiedadTipoDescripción
transporter.hostTextoNombre o dirección IP del servidor local utilizado para las transacciones SMTP.
transporter.portNúmeroPuerto utilizado para transacciones SMTP.
transporter.keepAliveBooleanoTrue si la conexión se mantiene activa hasta que se destruye el objeto transportador.
transporter.connectionTimeOutNúmeroTiempo de espera máximo (en segundos) para establecer una conexión con el servidor.
transporter.sendTimeOutNúmeroTiempo de espera máximo (en segundos) de una llamada sendMail antes del tiempo de espera
transporter.acceptUnsecureConnectionBooleanoTrue si se permite que 4D establezca una conexión no cifrada cuando la conexión cifrada no es posible, de lo contrario False
transporter.authenticationModeTextoModo de autenticación realmente utilizado para abrir la sesión en el servidor SMTP. Valores posibles:
Constante Valor Comentario
SMTP authentication CRAM MD5 CRAM-MD5 Autentificación SMTP vía el protocolo CRAM-MD5
SMTP authentication login LOGIN Autentificación SMTP vía el protocolo LOGIN
SMTP authentication plain PLAIN Autentificación SMTP vía el protocolo PLAIN
De forma predeterminada, se utiliza el modo más seguro admitido por el servidor
transporter.userTextoNombre de usuario para la autenticación en el servidor
transporter.logFile TextoRuta completa del archivo de registro (si existe)
transporter.headerCharsetTextoCharset y codificación utilizada para el encabezado y los nombres del mail
transporter.bodyCharsetTextoCharset y codificación utilizada para el cuerpo del mail

 

MétodoDescripción
SMTP_transporter.send( )Envía mensajes.
SMTP_transporter.checkConnection( )Verifica la autenticación.

Tenga en cuenta que este comando no abre ninguna conexión al servidor SMTP. La conexión SMTP se abre realmente cuando se ejecuta el método SMTP_transporter.send( ).

La conexión SMTP se cierra automáticamente:

  • cuando el objeto transportador se destruye si la propiedad keepAlive es verdadera (por defecto),
  • después de cada ejecución del método SMTP_transporter.send( ) si la propiedad keepAlive se define como falsa.

Ejemplo  

 $server:=New object
 $server.host:="smtp.gmail.com" //Obligatorio
 $server.port:=465
 $server.user:="4D@gmail.com"
 $server.password:="XXXX"
 $server.logFile:="LogTest.txt" //Historial extendido para guardar en la carpeta 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>There are many variations of passages of Lorem Ipsum available."\
 +"The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.</p>"
 
 $status:=$transporter.send($email)
 If(Not($status.success))
    ALERT("An error occurred sending the mail: "+$status.statusText)
 End if

 



Ver también 

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

 
PROPIEDADES 

Producto: 4D
Tema: Mail
Número 1608

This command can be run in preemptive processes

 
HISTORIA 

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

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v18)