Há duas maneiras de enviar e-mails usando a API Gmail:
- Você pode enviar diretamente usando o
método
messages.send
. - Você pode enviar 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 uma maneira conveniente e codifique-o 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 da escolha da biblioteca de cliente e da linguagem de programação.
Como criar mensagens
A API Gmail exige mensagens de e-mail MIME compatíveis com o 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 abaixo demonstram como criar uma mensagem MIME usando as bibliotecas de cliente das APIs do Google para vários idiomas.
Java
A criação de uma mensagem de e-mail pode ser muito 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 abaixo demonstra como criar uma mensagem MIME, codificar em
uma string base64url e atribuir 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 envio do arquivo como uma mensagem MIME de várias partes depende da linguagem de programação. Os exemplos de código a seguir demonstram maneiras possíveis de criar uma mensagem MIME de várias partes com um anexo.
Java
O exemplo a seguir mostra como criar uma mensagem MIME de várias partes. As etapas de codificação e atribuição são as mesmas acima.
Python
Semelhante ao exemplo anterior, este exemplo também processa a codificação da
mensagem para base64url e a atribui ao campo raw
do recurso
Message
.
Como enviar mensagens
Depois de criar uma mensagem, você pode enviá-la fornecendo-a no
corpo da solicitação de uma chamada para
messages.send
, conforme demonstrado
nos exemplos a seguir.
Java
Python
Se você estiver tentando enviar uma resposta e quiser que o e-mail seja uma conversa, verifique se:
- Os cabeçalhos
Subject
correspondem - Os cabeçalhos
References
eIn-Reply-To
seguem o padrão RFC 2822.
Para informações sobre como enviar uma mensagem de um rascunho, consulte Como criar rascunhos.