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 - funções
.getMail()
e.getMails()
para obter e-mails de um servidor IMAP - POP3 - Função
.getMail()
para obter um e-mail de um servidor POP3.
Você também pode criar um novo objeto
Você envia objetos Email
usando a função SMTP .send()
.
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 segue a especificação JMAP para formatar o objeto Email.
.attachments : Collection coleção de objeto(s) 4D.MailAttachment |
.bcc : Text .bcc : Object .bcc : Collection Blind Carbon Copy (BCC) direções do e-mail |
.bodyStructure : Object EmailBodyPart, ou seja, a estrutura MIME completa do corpo da mensagem (opcional) |
.bodyValues : Object EmailBodyValue, que contém um objeto para cada <partID> de bodyStructure (opcional) |
.cc : Text .cc : Object .cc : Collection endereço(s) e-mail adicionais em Cópia de Carbon (CC) do e-mail |
.comments : Text cabeçalho de comentários adicional |
.from : Text .from : Object .from : Collection a(s) endereço(es) de origem do e-mail |
.headers : Collection de objetos EmailHeader , na ordem em que aparecem na mensagem |
.comments : Text cabeçalho de comentários adicional |
.id : Text ID exclusivo do servidor IMAP |
.inReplyTo : Text identificador(es) de mensagem da(s) mensagem(ns) original(is) à(s) qual(is) a mensagem atual é uma resposta |
.keywords : Object conjunto de palavras-chave como um objeto, em que cada nome de propriedade é uma palavra-chave e cada valor é true |
.messageId : Text cabeçalho de identificador de mensagem ("message-id") |
.receivedAt : Text carimbo de data/hora da chegada do e-mail no servidor IMAP no formato ISO 8601 UTC (por exemplo: 2020-09-13T16:11:53Z) |
.references : Collection coleção de todos os IDs de mensagens na cadeia de resposta anterior |
.replyTo : Text .replyTo : Object .replyTo : Collection endereços para respostas |
.sendAt : Text Carimbo de e-mail no formato UTC ISO 8601 |
.sender : Text .sender : Object .sender : Collection endereços fonte do e-mail |
.size : Integer (expresso em bytes) do objeto Email retornado pelo servidor IMAP |
.subject : Text descrição do tópico |
.textBody : Text representação em texto simples da mensagem de e-mail (conjunto de caracteres padrão é UTF-8) (opcional, somente SMTP) |
.to : Text .to : Object .to : Collection os endereços dos destinatários primários de e-mail |
Endereços de Email
Todas as propriedades que contêm endereços de e-mail (from
, cc
, bcc
, to
, sender
, replyTo
) aceitam um valor de tipo texto, objeto ou coleção.
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.
Gestão do corpo do correio eletrônico
As propriedades textBody
e htmlBody
são usadas somente com a função SMTP.send() para permitir o envio de e-mails simples. 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
e bodyValues
são usados para SMTP quando o objeto Email é criado a partir de um documento MIME, por exemplo, quando gerado pelo comando MAIL Convert from MIME
. 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
A propriedade .attachments
contém uma coleção de objeto(s) 4D.MailAttachment
.
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
A propriedade .bcc
contém o destinatário oculto do e-mail Blind Carbon Copy (BCC) direções do e-mail.
.bodyStructure
.bodyStructure : Object
Descrição
A propriedade .bodyStructure
contém o objeto EmailBodyPart, ou seja, a estrutura MIME completa do corpo da mensagem (opcional). Consulte a seção Gerenciamento do corpo.
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 | Lista de todos os campos de cabeçalho da parte, na ordem em que eles aparecem na mensagem (coleção de objetos EmailHeader, ver propriedade headers) |
.bodyValues
.bodyValues : Object
Descrição
A propriedade .bodyValues
contém o objeto EmailBodyValue, que contém um objeto para cada <partID> de bodyStructure
(opcional). Consulte a seção Gerenciamento do corpo.
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
A propriedade .cc
contém os endereço(s) e-mail adicionais em Cópia de Carbon (CC) do e-mail.
.comments
.comments : Text
Descrição
A propriedade .comments
contém um cabeçalho de comentários adicional.
Os comentários só aparecem na seção de cabeçalho da mensagem (mantendo o corpo da mensagem intocado).
Para requisitos específicos de formatação, consulte a RFC#5322.
.from
.from : Text
.from : Object
.from : Collection
Descrição
A propriedade .from
contém o a(s) endereço(es) de origem do e-mail.
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
A propriedade .headers
contém uma coleção de objetos EmailHeader
, na ordem em que aparecem na mensagem. 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 | (obrigatório) Nome do campo cabeçalho, conforme definido na 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
A propriedade .htmlBody
contém a representação HTML da mensagem de e-mail (o conjunto de caracteres padrão é UTF-8) (opcional, somente SMTP). Consulte a seção Gerenciamento do corpo.
.id
.id : Text
Descrição
IMAP transporter unicamente.
A propriedade .id
contém o ID exclusivo do servidor IMAP.
.inReplyTo
.inReplyTo : Text
Descrição
A propriedade .inReplyTo
contém o(s) identificador(es) de mensagem da(s) mensagem(ns) original(is) à(s) qual(is) a mensagem atual é uma resposta.
Para requisitos específicos de formatação, consulte a RFC#5322.
.keywords
.keywords : Object
Descrição
A propriedade .keywords
contém um conjunto de palavras-chave como um objeto, em que cada nome de propriedade é uma palavra-chave e cada valor é true.
Essa propriedade é o cabeçalho "keywords" (consulte 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
A propriedade .messageId
contém um cabeçalho de identificador de mensagem ("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.
A propriedade .receivedAt
contém o carimbo de data/hora da chegada do e-mail no servidor IMAP no formato ISO 8601 UTC (por exemplo: 2020-09-13T16:11:53Z).
.references
.references : Collection
Descrição
A propriedade .references
contém a coleção de todos os IDs de mensagens na cadeia de resposta anterior.
Para requisitos específicos de formatação, consulte a RFC#5322.
.replyTo
.replyTo : Text
.replyTo : Object
.replyTo : Collection
Descrição
A propriedade .replyTo
contém os endereços para respostas.
.sendAt
.sendAt : Text
Descrição
A propriedade .sendAt
contém o Carimbo de e-mail no formato UTC ISO 8601.
.sender
.sender : Text
.sender : Object
.sender : Collection
Descrição
A propriedade .sender
contém os endereços fonte do e-mail.
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.
A propriedade .size
contém o tamanho (expresso em bytes) do objeto Email retornado pelo servidor IMAP.
.subject
.subject : Text
Descrição
A propriedade .subject
contém a descrição do tópico.
.textBody
.textBody : Text
Descrição
A propriedade .textBody
contém a representação em texto simples da mensagem de e-mail (conjunto de caracteres padrão é UTF-8) (opcional, somente SMTP). Consulte a seção Gerenciamento do corpo.
.to
.to : Text
.to : Object
.to : Collection
Descrição
A propriedade .to
contém os endereços dos destinatários primários de e-mail.