Há duas maneiras de enviar e-mails usando a API Gmail:
- É possível enviá-lo diretamente usando o
método
messages.send
. - É possível enviá-lo de um rascunho usando o
método
drafts.send
.
Os e-mails são enviados como strings codificadas em base64url na propriedade raw
de um
recurso de mensagem. O fluxo de trabalho de alto nível
para enviar um e-mail é:
- Crie o conteúdo do e-mail de alguma forma conveniente e codifique como uma string base64url.
- Crie um novo recurso de mensagem e defina a propriedade
raw
como a string base64url que você acabou de criar. - Chame
messages.send
ou, se estiver enviando um rascunho,drafts.send
para enviar a mensagem.
Os detalhes desse fluxo de trabalho podem variar dependendo de sua escolha de biblioteca de cliente e linguagem de programação.
Como criar mensagens
A API Gmail exige mensagens de e-mail MIME compatíveis com a RFC 2822 e codificadas como strings base64url. Muitas linguagens de programação têm bibliotecas ou utilitários que simplificam o processo de criação e codificação de mensagens MIME. Os exemplos de código a seguir demonstram como criar uma mensagem MIME usando as bibliotecas de cliente das APIs do Google para várias linguagens.
Java
A criação de uma mensagem de e-mail pode ser bastante simplificada com a classe
MimeMessage
no pacote javax.mail.internet
. O exemplo a seguir mostra como
criar a mensagem de e-mail, incluindo os cabeçalhos:
A próxima etapa é codificar o MimeMessage
, instanciar um objeto Message
e definir a string de mensagem codificada em base64url como o valor da propriedade raw
.
Python
O exemplo de código a seguir demonstra a criação de uma mensagem MIME, a codificação para uma string base64url e a atribuição dela ao campo raw
do recurso Message
:
Como criar mensagens com anexos
Criar uma mensagem com um anexo é como criar qualquer outra mensagem, mas o processo de upload do arquivo como uma mensagem MIME de várias partes depende da linguagem de programação. Os exemplos de código abaixo demonstram maneiras possíveis de criar uma mensagem MIME de várias partes com um anexo.
Java
O exemplo abaixo mostra como criar uma mensagem MIME em várias partes. As etapas de codificação e atribuição são as mesmas acima.
Python
Assim como no exemplo anterior, este exemplo também processa a codificação da
mensagem para base64url e a atribuição dela ao campo raw
do recurso
Message
.
Como enviar mensagens
Depois de criar uma mensagem, você pode enviá-la fornecendo no
corpo da solicitação de uma chamada para
messages.send
, conforme demonstrado
nos exemplos a seguir.
Java
Python
Se você está tentando enviar uma resposta e quer que a conversa seja encaminhada, confirme o seguinte:
- Os cabeçalhos
Subject
correspondem - Os cabeçalhos
References
eIn-Reply-To
seguem o padrão RFC 2822 (link em inglês).
Para informações sobre como enviar uma mensagem de um rascunho, consulte Como criar rascunhos.