Saltar para o conteúdo principal
Versão: Próximo

Email

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:

Você também pode criar um novo objeto Email em branco e preenchê-lo com propriedades do objeto Email.

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

Object

Um objeto com duas propriedades:

PropriedadeTipoDescrição
nameTextNome de exibição (pode ser nulo)
emailTextEndereç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:

PropriedadeTipoValor
partIDTextIdentifica a parte de maneira única dentro do email
typeText(obrigatório) Valor do campo de cabeçalho Content-Type da parte
charsetTextValor do parâmetro charset do campo de cabeçalho Content-Type
encodingTextIf isEncodingProblem=true, the Content-Transfer-Encoding value is added (by default undefined)
dispositionTextValor do campo de cabeçalho Conteúdo - Disposição da parte
LínguagemColeção de textosList of language tags, as defined in RFC3282, in the Content-Language header field of the part, if present.
locationTextURI, as defined in RFC2557, in the Content-Location header field of the part, if present.
subPartsUma coleção de objetosPartes do corpo de cada filho (coleção de objetos EmailBodyPart)
headersUma coleção de objetosLista 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:

PropriedadeTipoValor
partID.valuetextValor da parte do corpo
partID.isEncodingProblembooleanVerdadeiro 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, the EmailHeader property is ignored.

Cada objeto da coleção de cabeçalhos pode conter as propriedades abaixo:

PropriedadeTipoValor
[].nametext(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.
[].valuetextValores 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).

PropriedadeTipoValor
.<keyword>booleanPalavra-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.