4D v18SMTP New transporter |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v18
SMTP New transporter
|
SMTP New transporter ( servidor ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
servidor | Objeto |
![]() |
Información del servidor de correo | |||||
Resultado | Objeto |
![]() |
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:
Propiedad | Tipo | Descripción | |||||||||||||||
host | Texto | Nombre o dirección IP del servidor local para usar en transacciones SMTP. | |||||||||||||||
port | Número | (opcional) Puerto a utilizar para transacciones SMTP. Valor predeterminado=587 | |||||||||||||||
keepAlive | Booleano | para mantener la conexión activa hasta que se destruya el objeto transportador. Valor por defecto=True | |||||||||||||||
connectionTimeOut | Número | (opcional) Tiempo de espera máximo (en segundos) para establecer una conexión con el servidor. Valor predeterminado=30 | |||||||||||||||
sendTimeOut | Número | (opcional) Tiempo máximo de espera (en segundos) de una llamada sendMail antes del tiempo de espera. Valor predeterminado=100 | |||||||||||||||
authenticationMode | Texto | Modo de autenticación utilizado para abrir la sesión en el servidor SMTP (*). Valores posibles:
| |||||||||||||||
user | Texto | Nombre de usuario para la autenticación en el servidor | |||||||||||||||
password | Texto | Contraseña de usuario para la autenticación en el servidor | |||||||||||||||
acceptUnsecureConnection | Booleano | True 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 | |||||||||||||||
logFile | Texto | (opcional) Ruta del archivo para el archivo de registro extendido(***). Puede ser relativo (a la carpeta Logs actual) o absoluto | |||||||||||||||
headerCharset | Texto | (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:
| |||||||||||||||
bodyCharset | Texto | (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:
(***) 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:
Propiedad | Tipo | Descripción | ||||||||||||
transporter.host | Texto | Nombre o dirección IP del servidor local utilizado para las transacciones SMTP. | ||||||||||||
transporter.port | Número | Puerto utilizado para transacciones SMTP. | ||||||||||||
transporter.keepAlive | Booleano | True si la conexión se mantiene activa hasta que se destruye el objeto transportador. | ||||||||||||
transporter.connectionTimeOut | Número | Tiempo de espera máximo (en segundos) para establecer una conexión con el servidor. | ||||||||||||
transporter.sendTimeOut | Número | Tiempo de espera máximo (en segundos) de una llamada sendMail antes del tiempo de espera | ||||||||||||
transporter.acceptUnsecureConnection | Booleano | True si se permite que 4D establezca una conexión no cifrada cuando la conexión cifrada no es posible, de lo contrario False | ||||||||||||
transporter.authenticationMode | Texto | Modo de autenticación realmente utilizado para abrir la sesión en el servidor SMTP. Valores posibles:
| ||||||||||||
transporter.user | Texto | Nombre de usuario para la autenticación en el servidor | ||||||||||||
transporter.logFile | Texto | Ruta completa del archivo de registro (si existe) | ||||||||||||
transporter.headerCharset | Texto | Charset y codificación utilizada para el encabezado y los nombres del mail | ||||||||||||
transporter.bodyCharset | Texto | Charset y codificación utilizada para el cuerpo del mail |
Método | Descripció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:
$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
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
Producto: 4D
Tema: Mail
Número
1608
Creado por: 4D v17 R4
Modificado: 4D v17 R5
Modificado: 4D v18
Manual de lenguaje 4D ( 4D v18)