4D v18MAIL New attachment |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v18
MAIL New attachment
|
MAIL New attachment ( valor {; nombre {; cid {; tipo {; disposition}}}} ) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
valor | Texto, BLOB |
![]() |
Ruta del archivo adjunto (texto) o Blob que contiene el archivo adjunto (BLOB) |
|||||
nombre | Texto |
![]() |
Nombre + extensión utilizada por el cliente de correo para designar el archivo adjunto | |||||
cid | Texto |
![]() |
ID del archivo adjunto (solo mensajes HTML) o " " si no se requiere cid | |||||
tipo | Texto |
![]() |
Valor del encabezado content-type | |||||
disposition | Texto |
![]() |
Valor del encabezado content-disposition: "inline" o "attachment". | |||||
Resultado | Objeto |
![]() |
Objeto adjunto | |||||
El comando MAIL New attachment le permite crear un objeto adjunto que puede agregar a un objeto mail (ver SMTP_transporter.send( )).
En valor, pase el contenido del adjunto. Puedes pasar:
El parámetro opcional nombre le permite pasar el nombre y la extensión que utilizará el cliente de correo para designar el archivo adjunto. Si se omite nombre y:
El parámetro opcional cid le permite pasar una ID interna para el archivo adjunto. Esta ID es el valor del encabezado Content-Id, se utilizará solo en mensajes HTML. El parámetro cid asocia el archivo adjunto a una referencia definida en el cuerpo del mensaje utilizando una etiqueta HTML tal como <img src="cid:ID">. Esto significa que el contenido del archivo adjunto (por ejemplo, una imagen) debe mostrarse dentro del mensaje en el cliente de correo. El resultado final puede variar según el cliente de correo. Puede pasar una cadena vacía en cid si no desea utilizar este parámetro.
Puede utilizar el parámetro opcional tipo para definir explícitamente el content-type del archivo adjunto. Por ejemplo, puede pasar una cadena que define un tipo MIME ("video/mpeg"). Este valor content-type será definido por el archivo adjunto, independientemente de su extensión. Para obtener más información sobre los tipos MIME, consulte la página tipo MIME en Wikipedia.
Por defecto, si este parámetro se omite o contiene una cadena vacía, el content-type del archivo adjunto se basa en su extensión. Las siguientes reglas se aplican para los principales tipos MIME:
Extensión | Content Type |
jpg, jpeg | imagen/jpeg |
png | imagen/png |
gif | imagen/gif |
aplicación/pdf | |
doc | aplicación/msword |
xls | aplicación/vnd.ms-excel |
ppt | aplicación/vnd.ms-powerpoint |
zip | aplicación/zip |
gz | aplicación/gzip |
json | aplicación/json |
js | aplicación/javascript |
ps | aplicación/postscript |
xml | aplicación/xml |
htm, html | texto/html |
mp3 | audio/mpeg |
other | aplicación/octet-stream |
El parámetro opcional disposicion le permite pasar el encabezado content-disposition del adjunto. Puede pasar una de las siguientes constantes del tema "Mail":
Constante | Valor | Comentario |
mail disposition attachment | attachment | Define el valor del encabezado Content-disposition para "attachment", lo que significa que el archivo adjunto debe proporcionarse como un enlace en el mensaje. |
mail disposition inline | inline | Define el valor del encabezado Content-disposition para "inline", lo que significa que el archivo adjunto debe representarse dentro del contenido del mensaje, en la ubicación "cid". La renderización depende del cliente de correo. |
Por defecto, si se omite el parámetro disposicion:
MAIL New attachment devuelve un nuevo objeto adjunto que puede agregar a la colección adjuntos del objeto mail manejado por el método transporter.send( ). El objeto contiene las siguientes propiedades y métodos de solo lectura:
Propiedad | Tipo | Descripción |
attachment.path | Texto | Ruta completa del archivo adjunto (si existe) |
attachment.name | Texto | Nombre y extensión del archivo adjunto. Por defecto, el nombre del archivo. |
attachment.disposition | Texto | Valor del encabezado Content-Disposition: "inline" o "attachment". |
attachment.type | Texto | Tipo de contenido del archivo adjunto. Si este tipo no se pasa explícitamente al comando MAIL New attachment, el content-type se basa en su extensión de archivo. |
attachment.cid | Texto | ID del archivo adjunto (utilizado solo en mensajes HTML). Si falta esta propiedad, el archivo se maneja como un archivo adjunto simple (enlace) |
Método | Descripción |
attachment.getContent( ) | Devuelve el contenido del archivo adjunto |
Desea enviar un correo electrónico con un archivo seleccionado por el usuario como archivo adjunto y una imagen integrada en el HTML:
$doc:=Select document("";"*";"Por favor seleccione un archivo a adjuntar";0)
If(OK=1) //Si un documento ha sido seleccionado
C_OBJECT($email;$server;$transporter)
$server:=New object
$server.host:="smtp.mail.com"
$server.user:="test_user@mail.com"
$server.password:="p@ssw@rd"
$transporter:=SMTP New transporter($server)
$email:=New object
$email.from:="test_user@mail.com"
$email.to:="test_user@mail.com"
$email.subject:="Este es un mensaje de prueba con adjuntos"
//añada un enlace para descargar el archivo
$email.attachments:=New collection(MAIL New attachment(Document))
//inserte una imagen inline (utilice un cid)
$email.attachments[1]:=MAIL New attachment("c:\\Pictures\\4D.jpg";"";"4D")
$email.htmlBody:="<html>"+\
"<body>Hello World!"+\
"<img src='cid:4D' >"+\
"</body>"+\
"</head>"+\
"</html>"
$transporter.send($email) //envíe el mail
End if
Desea enviar un correo electrónico con un área 4D Write Pro como archivo adjunto:
C_BLOB($blob)
WP EXPORT VARIABLE(WPArea;$blob;wk docx)
C_OBJECT($email;$server;$transporter)
$server:=New object
$server.host:="smtp.mail.com"
$server.user:="user@mail.com"
$server.password:="p@ssw@rd"
$transporter:=SMTP New transporter($server)
$email:=New object
$email.from:="user@mail.com"
$email.to:="customer@mail.com"
$email.subject:="New annual report"
$email.textBody:="Por favor encuentre adjutno nuestro último informe anual."
$email.attachments:=New collection(MAIL New attachment($blob;"Annual report.docx"))
$transporter.send($email)
attachment.cid
attachment.disposition
attachment.getContent( )
attachment.name
attachment.path
attachment.type
SMTP_transporter.send( )
Producto: 4D
Tema: Mail
Número
1644
Creado por: 4D v17 R4
Manual de lenguaje 4D ( 4D v18)