Creating, sending or receiving emails in 4D is done by handling an Email
object.
Email
objects are created when receiving mails through a transporter class function:
- IMAP -
.getMail()
and.getMails()
functions to get emails from an IMAP server - POP3 - Função
.getMail()
para obter um e-mail de um servidor POP3.
Você também pode criar um novo objeto
You send Email
objects using the SMTP .send()
function.
MAIL Convert from MIME
and MAIL Convert to MIME
commands can be used to convert Email
objects to and from MIME contents.
Objeto Email
Objetos de e-mail fornecem as seguintes propriedades:
4D follows the JMAP specification to format the Email object.
.attachments : Collection collection of 4D.MailAttachment object(s) |
.bcc : Text .bcc : Object .bcc : Collection Blind Carbon Copy (BCC) hidden email recipient addresse(s) of the email |
.bodyStructure : Object EmailBodyPart object, i.e. the full MIME structure of the message body (optional) |
.bodyValues : Object EmailBodyValue object, containing an object for each <partID> of bodyStructure (optional) |
.cc : Text .cc : Object .cc : Collection Carbon Copy (CC) additional email recipient addresse(s) of the email |
.comments : Text additional comments header |
.from : Text .from : Object .from : Collection Originating address(es) of the email |
.headers : Collection collection of EmailHeader objects, in the order they appear in the message |
.comments : Text additional comments header |
.id : Text unique ID from the IMAP server |
.inReplyTo : Text message identifier(s) of the original message(s) to which the current message is a reply |
.keywords : Object set of keywords as an object, where each property name is a keyword and each value is true |
.messageId : Text message identifier header ("message-id") |
.receivedAt : Text timestamp of the email's arrival on the IMAP server in ISO 8601 UTC format (ex: 2020-09-13T16:11:53Z) |
.references : Collection Collection of all message-ids of messages in the preceding reply chain |
.replyTo : Text .replyTo : Object .replyTo : Collection addresse(s) for responses |
.sendAt : Text Email timestamp in ISO 8601 UTC format |
.sender : Text .sender : Object .sender : Collection email source addresse(s) of the email |
.size : Integer size (expressed in bytes) of the Email object returned by the IMAP server |
.subject : Text description of topic |
.textBody : Text Plain text representation of the email message (default charset is UTF-8) (optional, SMTP only) |
.to : Text .to : Object .to : Collection primary recipient addresse(s) of the email |
Endereços de Email
All properties that contain email addresses (from
, cc
, bcc
, to
, sender
, replyTo
) accept a value of text, object, or collection type.
Text
- e-mail único: "somebody@domain.com"
- single display name+email: "Somebody somebody@domain.com"
- vários e-mails: "Somebody somebody@domain.com,me@home.org"
Object
Um objeto com duas propriedades:
Propriedade | Tipo | Descrição |
---|---|---|
name | Text | Nome de exibição (pode ser nulo) |
Text | Endereço de Email |
Collection
Uma coleção de objetos de endereço.
Gesttão do corpo do correio eletrônico
The textBody
and htmlBody
properties are only used with the SMTP.send() function to allow sending simple mails. Quando ambas as propriedades são preenchidas, o tipo de conteúdo MIME multiparte/alternativo é utilizada. O cliente de email deve reconhecer a parte multiparte/alternativa e exibir a parte do texto ou html conforme necessário.
bodyStructure
and bodyValues
are used for SMTP when the Email object is built from a MIME document, e.g. when generated by the MAIL Convert from MIME
command. In this case, both bodyStructure
and bodyValues
properties must be passed together, and it is not recommended to use textBody
and htmlBody
.
Exemplo de objetos bodyStructure e bodyValues
"bodyStructure": {
"type": "multipart/mixed",
"subParts": [
{
"partId": "p0001",
"type": "text/plain"
},
{
"partId": "p0002",
"type": "text/html"
}
]
},
"bodyValues": {
"p0001": {
"value": "I have the most brilliant plan. Let me tell you all about it."
},
"p0002": {
"value": "<!DOCTYPE html><html><head><title></title><style type=\"text/css\">div{font-size:16px}</style></head><body><div>I have the most brilliant plan. Let me tell you all about it.</div></body></html>"
}
}
.attachments
.attachments : Collection
Descrição
The .attachments
property contains a collection of 4D.MailAttachment
object(s).
Os objetos de anexo são definidos por meio do comando MAIL New attachment
. Os objetos anexo têm propriedades e funções específicas.
.bcc
.bcc : Text
.bcc : Object
.bcc : Collection
Descrição
The .bcc
property contains the Blind Carbon Copy (BCC) hidden email recipient addresse(s) of the email.
.bodyStructure
.bodyStructure : Object
Descrição
The .bodyStructure
property contains the EmailBodyPart object, i.e. the full MIME structure of the message body (optional). See Handling body part section.
O objeto .bodyStructure
contém as seguintes propriedades:
Propriedade | Tipo | Valor |
---|---|---|
partID | Text | Identifica a parte de maneira única dentro do email |
type | Text | (obrigatório) Valor do campo de cabeçalho Content-Type da parte |
charset | Text | Valor do parâmetro charset do campo de cabeçalho Content-Type |
encoding | Text | If isEncodingProblem=true , the Content-Transfer-Encoding value is added (by default undefined) |
disposition | Text | Valor do campo de cabeçalho Conteúdo - Disposição da parte |
Línguagem | Coleção de textos | List of language tags, as defined in RFC3282, in the Content-Language header field of the part, if present. |
location | Text | URI, as defined in RFC2557, in the Content-Location header field of the part, if present. |
subParts | Uma coleção de objetos | Partes do corpo de cada filho (coleção de objetos EmailBodyPart) |
headers | Uma coleção de objetos | List of all header fields in the part, in the order they appear in the message (collection of EmailHeader objects, see headers property) |
.bodyValues
.bodyValues : Object
Descrição
The .bodyValues
property contains the EmailBodyValue object, containing an object for each <partID> of bodyStructure
(optional). See Handling body part section.
O objeto .bodyValues
contém as seguintes propriedades:
Propriedade | Tipo | Valor |
---|---|---|
partID.value | text | Valor da parte do corpo |
partID.isEncodingProblem | boolean | Verdadeiro se seções malformadas forem encontradas durante a decodificação do conjunto de charset, ou charset desconhecido, ou codificação de conteúdo desconhecido. Padrão é falso |
.cc
.cc : Text
.cc : Object
.cc : Collection
Descrição
The .cc
property contains the Carbon Copy (CC) additional email recipient addresse(s) of the email.
.comments
.comments : Text
Descrição
The .comments
property contains an additional comments header.
Os comentários só aparecem na seção de cabeçalho da mensagem (mantendo o corpo da mensagem intocado).
For specific formatting requirements, please consult the RFC#5322.
.from
.from : Text
.from : Object
.from : Collection
Descrição
The .from
property contains the Originating address(es) of the email.
Cada e-mail que você envia tem os endereços sender e from:
- o domínio do remetente é o que o servidor de e-mail de recebimento recebe ao abrir a sessão,
- o endereço a partir é o que o(s) destinatário(s) verá(s).
Para uma melhor capacidade de entrega, é recomendado usar o mesmo endereço de e para o remetente.
.headers
.headers : Collection
Descrição
The .headers
property contains a collection of EmailHeader
objects, in the order they appear in the message. Esta propriedade permite que usuários adicionem cabeçalhos estendidos (registrados) ou definidos pelo usuário (não registrados, começando com cabeçalhos "X").
If an
EmailHeader
object property defines a header such as "from" or "cc" which is already set as a property at the mail level, theEmailHeader
property is ignored.
Cada objeto da coleção de cabeçalhos pode conter as propriedades abaixo:
Propriedade | Tipo | Valor |
---|---|---|
[].name | text | (mandatory) Header field name as defined in RFC#5322. Caso seja nulo ou indefinido, o campo cabeçalho não será adicionado ao cabeçalho MIME. |
[].value | text | Valores do campo de cabeçalho conforme definido em RFC#5322 |
.htmlBody
.htmlBody : Text
Descrição
The .htmlBody
property contains the HTML representation of the email message (default charset is UTF-8) (optional, SMTP only). See Handling body part section.
.id
.id : Text
Descrição
IMAP transporter unicamente.
The .id
property contains the unique ID from the IMAP server.
.inReplyTo
.inReplyTo : Text
Descrição
The .inReplyTo
property contains the message identifier(s) of the original message(s) to which the current message is a reply.
For specific formatting requirements, please consult the RFC#5322.
.keywords
.keywords : Object
Descrição
The .keywords
property contains a set of keywords as an object, where each property name is a keyword and each value is true.
This property is the "keywords" header (see RFC#4021).
Propriedade | Tipo | Valor |
---|---|---|
.<keyword> | boolean | Palavra-chave a definir (valor deve ser verdadeiro) |
Palavra-chave reservada.
- $draft - Indica que uma mensagem é um rascunho
- $seen - Indica uma mensagem que foi lida
- $flagged - Indica uma mensagem que requer atenção especial (por exemplo, Urgent)
- $answered - Indica uma mensagem que foi respondida
- $deleted - Indica uma mensagem para deletar
Exemplo
$mail.keywords["$flagged"]:=True
$mail.keywords["4d"]:=True
.messageId
.messageId : Text
Descrição
The .messageId
property contains a message identifier header ("message-id").
Este cabeçalho geralmente é "lettersOrNumbers@domainname", por exemplo, "abcdef.123456@4d.com". Este ID exclusivo é usado em particular em fóruns ou listas públicas de e-mail. Em geral, os servidores de email adicionam automaticamente este cabeçalho às mensagens que enviam.
.receivedAt
.receivedAt : Text
Descrição
IMAP transporter unicamente.
The .receivedAt
property contains the timestamp of the email's arrival on the IMAP server in ISO 8601 UTC format (ex: 2020-09-13T16:11:53Z).
.references
.references : Collection
Descrição
The .references
property contains the Collection of all message-ids of messages in the preceding reply chain.
For specific formatting requirements, please consult the RFC#5322.
.replyTo
.replyTo : Text
.replyTo : Object
.replyTo : Collection
Descrição
The .replyTo
property contains the addresse(s) for responses.
.sendAt
.sendAt : Text
Descrição
The .sendAt
property contains the Email timestamp in ISO 8601 UTC format.
.sender
.sender : Text
.sender : Object
.sender : Collection
Descrição
The .sender
property contains the email source addresse(s) of the email.
Cada e-mail que você envia tem os endereços sender e from:
- o domínio do remetente é o que o servidor de e-mail de recebimento recebe ao abrir a sessão,
- o endereço a partir é o que o(s) destinatário(s) verá(s).
Para uma melhor capacidade de entrega, é recomendado usar o mesmo endereço de e para o remetente.
.size
.size : Integer
Descrição
IMAP transporter unicamente.
The .size
property contains the size (expressed in bytes) of the Email object returned by the IMAP server.
.subject
.subject : Text
Descrição
The .subject
property contains the description of topic.
.textBody
.textBody : Text
Descrição
The .textBody
property contains the Plain text representation of the email message (default charset is UTF-8) (optional, SMTP only). See Handling body part section.
.to
.to : Text
.to : Object
.to : Collection
Descrição
The .to
property contains the primary recipient addresse(s) of the email.