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 cadenas 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 alguna manera conveniente y codificalo como una cadena base64url.
- Crea un nuevo recurso de mensaje y establece su propiedad
raw
en la cadena 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.
Cómo crear mensajes
La API de Gmail requiere que los mensajes de correo electrónico MIME cumplan con la RFC 2822 y estén codificados como cadenas 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
del 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 cadena de mensaje codificada en base64url como el valor de la propiedad raw
.
Python
En la siguiente muestra de código, se muestra cómo crear un mensaje MIME, codificarlo en una cadena base64url y asignarlo al campo raw
del recurso Message
:
Cómo crear 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 las posibles formas 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, este ejemplo también controla la codificación del mensaje en base64url y lo asigna al campo raw
del recurso Message
.
Cómo mandar mensajes
Una vez que hayas creado un mensaje, puedes enviarlo proporcionándolo en el cuerpo de la solicitud de una llamada a messages.send
, como se muestra en los siguientes ejemplos.
Java
Python
Si quieres enviar una respuesta y que el correo electrónico se incluya en la conversación, 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.