4D Internet Commands v16

SMTP_Send

Inicio

 
4D Internet Commands v16
SMTP_Send

SMTP_Send 


 

SMTP_Send ( smtp_ID {; paramSesion} ) -> resultado 
Parámetro Tipo   Descripción
smtp_ID  Entero largo in Referencia del mensaje
paramSesion  Entero largo in 0 o se omite = No utilizar SSL sino báscula permitida, 1 = Utilizar SSL, 2 = Nunca utilizar SSL (báscula no permitida)
resultado  Entero in Código de error

El comando SMTP_Send envía el mensaje referenciado por smtp_ID pero no borra los datos de la memoria.

smtp_ID es la referencia entero largo de un mensaje electrónico creado con el comando SMTP_New.

El parámetro opcional sessionParam permite activar el protocolo SSL para la conexión:

  • Si pasa 0 u omite este parámetro, el mensaje se enviará en modo estándar no seguro. Si el servidor ofrece una actualización a SSL/TLS luego de la actualización, la báscula se realiza automáticamente (funcionamiento SSL/TLS en modo explícito).
  • Si pasa 1, el envío del mensaje se efectúa en SSL (modo síncrono),
  • Si pasa 2, el envío del mensaje se efectúa en modo estándar pero sin soporte de la actualización en SSL/TLS.

A partir de la versión 13.2, 4D Internet Commands STARTTLS en modo explícito. Esto significa que la conexión se hace primero en modo estándar y luego se "actualiza" en SSL/TLS después de la fase de autenticación. Consulte el ejemplo 2 para una ilustración de este mecanismo.

  • La conexión inicial se debe hacer en un puerto no SSL/TLS que no es el puerto por defecto (25). Debe llamar al comando IT_SetPort antes de SMTP_Send para designar el puerto utilizado para la conexión SMTP inicial. Para una conexión a un servidor MS Exchange, debe utilizar el puerto 587.
  • La conexión debe autenticarse por lo que tiene que llamar al comando SMTP_Auth . Sólo el modo de autenticación LOGIN es soportado por 4D Internet Commands para comunicarse con un servidor MS Exchange. Puede pasar este modo o dejar el modo por defecto (en este caso se utiliza el modo más seguro disponible en el servidor):
    [# code4D]$error:=SMTP_Auth ($smtp_id"; user.name","password", 2)// OK para el modo LOGIN
    v$error:=SMTP_Auth ($smtp_id;"user.name";"password") // OK para el modo LOGIN definido por el servidor[#/code4D]

En este ejemplo, se crea un mensaje y se definen los elementos estáticos. Para cada registro de la tabla [Personas], el mensaje se personaliza y se envía.

 $error:=SMTP_New($smtp_id)
 $error:=SMTP_Host($smtp_id;"wkrp.com")
 $error:=SMTP_From($smtp_id;"herb_tarlick@wkrp.com")
 $error:=SMTP_ReplyTo($smtp_id;"bigguy@wkrp.com")
 $error:=SMTP_Subject($smtp_id;"¡Promociones en espacios publicitarios!")
 FIRST RECORD([Personas])
 For($i;1;Records in selection([Personas]))
    If([Personas]Sales2Date>100000)
       $Body:=◊BigDiscText
    Else
       $Body:=◊SmlDiscText
    End if
    $Body:=Replace string($BoilerPlate;"<Salutation>";[Personas]Firstname)
    $error:=SMTP_To($smtp_id;[Personas]Email;1) `Remplazar el encabezado "A" por un nuevo valor
    $error:=SMTP_Body($smtp_id;$Body)
    $error:=SMTP_Send($smtp_id)
    NEXT RECORD([Personas])
 End for
 $error:=SMTP_Clear($smtp_id)

Este ejemplo envía un mensaje de prueba vía un servidor Exchange en STARTTLS:

 $error:=SMTP_New($smtp_id)
 $error:=SMTP_Host($smtp_id;"exchange.4d.com")
 $error:=SMTP_From($smtp_id;"username@4d.com")
 $error:=SMTP_ReplyTo($smtp_id;"username@4d.com")
 $error:=SMTP_Subject($smtp_id;"Message test")
 $error:=SMTP_Auth($smtp_id;"username";"!%@password") //utilizar identificadores válidos
 $Body:="Esta es una prueba de envío de mensajes vía Exchange, favor no responder"
 $error:=IT_SetPort(2;587) //modo STMP estándar, pueto 587 para Exchange
 $error:=SMTP_To($smtp_id;"recipient@gmail.com")
 $error:=SMTP_Body($smtp_id;$Body)
 $error:=SMTP_Send($smtp_id;0) //Envío en modo 'actualizable'
 ALERT(String($error));



Ver también 

SMTP_New

 
PROPIEDADES 

Producto: 4D Internet Commands
Tema: IC Send Mail
Número 88989

 
HISTORIA 

Creado por: 4D Internet Commands 6.5
Modificado: 4D Internet Commands v12.1
Modificado: 4D v13.2

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)