AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Comunicación / Gestión de correos electrónicos
  • Principio
  • Etapas a seguir
  • Escribir un correo electrónico con un Variable de correo electrónico
  • Escribir un Email con la estructura Email
  • Ejemplos
  • Ejemplo que utiliza EmailImportHTML
  • Ejemplo que utiliza la estructura Email
  • Uso del formato EML para personalizar los correos electrónicos
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Principio
Hay dos métodos para manipular correos electrónicos en WLanguage:
  • la estructura Email, que le permite fácilmente los mensajes manipular.
    En este caso, para escribir un Email, debes usar las diferentes variables de la estructura de Email.
  • el tipo avanzado Email, que ofrece funcionalidades avanzadas (enlace de datos, serialización, instancias múltiples, etc.).
    En este caso, para escribir un correo electrónico, debe declarar e inicializar una Variable de tipo Email. Los posibles anexos se declararán en el emailAttach Variable s y se añadirán al Attach Property del Email Variable.
Al enviar el mensaje (EmailSendMessage), los datos encontrados en el correo electrónico Variable o estructura constituirán el mensaje saliente.
Etapas a seguir

Escribir un correo electrónico con un Variable de correo electrónico

Para escribir un correo electrónico con un Variable de correo electrónico:
  1. Declare e inicialice un Variable de tipo Email especificando los destinatarios y el asunto con las propiedades Destinatario, Cc, Cco y Asunto , por ejemplo.
    Para gestionar el seguimiento de una conversación, especifique también el MessageID Property.
  2. Si el Email está en formato de texto:
    • Inicialice la propiedad ..Message con el texto del correo electrónico.
    • Especifique los archivos adjuntos si es necesario declarando Variable s de tipo emailAttach y añadiéndolos al Attach Property del Variable que representa el Email.
  3. Si el Email está en formato HTML: Utiliza EmailImportHTML para inicializar las propiedades de Email. Si el Email contiene imágenes o archivos multimedia, se añadirán automáticamente como archivos adjuntos y el contenido del Email HTML se modificará para admitir los archivos adjuntos.
  4. Si es necesario, especifique encabezados adicionales con la propiedad Header.
  5. Enviar la Email con EmailSendMessage. Si el asunto (o uno de los elementos del correo electrónico) contiene caracteres especiales o acentuados, utilice la constante emailOptionEncodeHeader cuando el mensaje sea enviado por EmailSendMessage. El Email se envía al servidor. El servidor almacena el Email hasta que se cierra la sesión. Durante este cierre, el Email se envía a los receptores.

Escribir un Email con la estructura Email

Escribir un Email con la estructura Email:
  1. Inicialice la estructura Email especificando los destinatarios y el asunto con las variables Email.Recipient, Email.NbRecipient, Email.NbCc, Email.Cc y Email.Subject, por ejemplo.
    Para seguir el progreso de la conversión, rellene Email.MessageID.
  2. Si el Email está en formato HTML:
    • 1er caso: EmailImportHTML está disponible:
      • Utilice EmailImportHTML para inicializar las diferentes variables de la estructura Email.
    • 2º caso: EmailImportHTML no está disponible:
      • Inicializar las variables Email.Message y Email.HTML.
        Observación: Le recomendamos que utilice un mensaje en formato de texto para los sistemas de mensajería que no admiten los mensajes de correo electrónico en formato HTML.
      • Analiza el mensaje HTML para detectar todos los archivos multimedia incluidos en el mensaje.
      • Para cada archivo multimedia encontrado:
        • Crear un archivo adjunto. Este archivo adjunto corresponde al archivo multimedia (variables Email.Attach y Email.NbAttach).
        • Crear un identificador (Email.AttachIdentifier). Este identificador debe tener el siguiente formato "wdcid"+número de archivo adjunto. Por ejemplo, WDCID5 si el archivo correspondiente es el quinto archivo adjunto.
        • Busca el archivo multimedia en el mensaje HTML y sustituye su nombre por la cadena: "cid:"+Email.AttachIdentifier.
          Por ejemplo:
          Código HTML inicial: <IMG src="C:\MisImágenes\Imagen.gif">
          Código HTML reemplazado: <IMG src="cid:WDCID5">
  3. Enviar la Email con EmailSendMessage.
    Observación: Si el asunto (o uno de los elementos del correo electrónico) contiene caracteres especiales o acentuados, utilice la constante emailOptionEncodeHeader cuando el mensaje sea enviado por EmailSendMessage.
Ejemplos
WEBDEV - Código ServidorWindowsLinux

Ejemplo que utiliza EmailImportHTML

Este ejemplo se utiliza para enviar un Email que contiene imágenes:
// Start an SMTP session
MySession is emailSMTPSession
MySession.ServerAddress = "smtp.mycompany.com"
EmailStartSession(MySession)
 
// Build the message
MyMessage is Email
MyHTMLText = fLoadText("C:\Email\MyEmail.htm")
 
EmailImportHTML(MyMessage, MyHTMLText, "C:\Email")
 
MyMessage.Recipient = "bob@mycompany.net"
MyMessage.Subject = "Test"
 
// Send the message
EmailSendMessage(MySession, MyMessage, emailOptionEncodeHeader)

Ejemplo que utiliza la estructura Email

Este ejemplo se utiliza para sustituir las referencias a los archivos multimedia (imágenes, sonidos, ...) que se encuentran en el Email.HTML Variable por sus identificadores "CID". Este Procedure se llama para cada archivo encontrado.
PROCEDURE SetAttachFile(FileName, Subscript)
Email.Attach[Subscript] = FileName
Email.NbAttach ++
 
// Replace in Email.HTML all references to the attached files
// by the cid identifier
CID is string = "cid:wdcid" + Subscript
 
// The HTML file was not necessarily created in the current directory
// It can reference the attached files in any path
// Therefore, extract the file name without path
 
SimpleName is string = fExtractPath(FileName, fFileName + fExtension)
 
// Find the name of the file in Email.HTML
Pos is int = 0
StartPos, EndPos are int
SubString is string
Pos = Position(Email.HTML, SimpleName, Pos)
IF Pos <> 0 THEN
EndPos = Pos + Length(SimpleName)
// Find the start position of reference
// Find the " marker
Pos --
SubString = Email.HTML[[Pos]]
WHILE Pos > 1 AND SubString <> """"
   Pos --
   SubString = Email.HTML[[Pos]]
END
StartPos = Pos + 1
// Replace
SubString = Middle(Email.HTML, StartPos, EndPos - StartPos)
Email.HTML = Replace(Email.HTML, SubString, CID)
END
Uso del formato EML para personalizar los correos electrónicos
WEBDEV - Código ServidorWindows En algunos casos, la estructura de los correos electrónicos salientes puede no corresponderse con la información solicitada.
Por ejemplo:
  • La comunicación con algunas organizaciones (correos electrónicos para SESAM-VITALE) puede requerir estructuras específicas.
  • También puede querer forzar un carácter específico set (para una lengua no latina).
  • Puede que quieras especificar una devolución Address que difiera del remitente Address.
Para personalizar estas Email s, WLanguage permite crear el buffer de la Email, modificarlo y enviar esta Email.
Se utilizan las siguientes funciones:
  • EmailImportSource: Esta función se utiliza para leer un archivo EML existente y para rellenar automáticamente las variables de la estructura Email.
  • EmailBuildSource: Esta función se utiliza para generar el código fuente de un Email. Esta función permite definir completamente el código fuente de Email utilizando la flexibilidad de la estructura de Email.
  • EmailSend: Esta función envía un "buffer" en formato EML que contiene la Email estructurada (creada por EmailBuildSource, por ejemplo).
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 02/09/2022

Señalar un error o enviar una sugerencia | Ayuda local