Existen dos maneras de enviar correos electrónicos con la API de Gmail:
- Puedes enviarlo directamente con el método
messages.send
. - Puedes enviarlo desde un borrador con el método
drafts.send
.
Los correos electrónicos se envían como strings codificadas en base64url dentro de la propiedad raw
de un recurso de mensaje. El flujo de trabajo de alto nivel para enviar un correo electrónico es el siguiente:
- Crea el contenido del correo electrónico de una manera conveniente y codifícalo como una string base64url.
- Crea un recurso de mensaje nuevo y establece su propiedad
raw
en la string base64url que acabas de crear. - Llama a
messages.send
o, si envías un borrador, adrafts.send
para enviar el mensaje.
Los detalles de este flujo de trabajo pueden variar según la biblioteca cliente y el lenguaje de programación que elijas.
Creación de mensajes
La API de Gmail requiere mensajes de correo electrónico MIME que cumplan con RFC 2822 y estén codificados como strings base64url. Muchos lenguajes de programación tienen bibliotecas o utilidades que simplifican el proceso de creación y codificación de mensajes MIME. En los siguientes ejemplos de código, se muestra cómo crear un mensaje MIME con las bibliotecas cliente de las APIs de Google para varios lenguajes.
Java
La creación de un mensaje de correo electrónico se puede simplificar mucho con la clase MimeMessage
en el paquete javax.mail.internet
. En el siguiente ejemplo, se muestra cómo crear el mensaje de correo electrónico, incluidos los encabezados:
El siguiente paso es codificar el MimeMessage
, crear una instancia de un objeto Message
y establecer la string del mensaje codificada en base64url como el valor de la propiedad raw
.
Python
En la siguiente muestra de código, se explica cómo crear un mensaje MIME, codificar a una string base64url y asignarlo al campo raw
del recurso Message
:
Creación de mensajes con archivos adjuntos
Crear un mensaje con un archivo adjunto es como crear cualquier otro mensaje, pero el proceso de subir el archivo como un mensaje MIME de varias partes depende del lenguaje de programación. En los siguientes ejemplos de código, se muestran formas posibles de crear un mensaje MIME de varias partes con un archivo adjunto.
Java
En el siguiente ejemplo, se muestra cómo crear un mensaje MIME de varias partes. Los pasos de codificación y asignación son los mismos que los anteriores.
Python
Al igual que en el ejemplo anterior, en este ejemplo también se controla la codificación del mensaje en base64url y se la asigna al campo raw
del recurso Message
.
Cómo mandar mensajes
Una vez que hayas creado un mensaje, puedes enviarlo en el cuerpo de la solicitud de una llamada a messages.send
, como se muestra en los siguientes ejemplos.
Java
Python
Si intentas enviar una respuesta y quieres que el correo electrónico se converse, asegúrate de lo siguiente:
- Los encabezados
Subject
coinciden - Los encabezados
References
yIn-Reply-To
siguen el estándar RFC 2822.
Para obtener información sobre cómo enviar un mensaje desde un borrador, consulta Cómo crear borradores.