# Trabajar con correo electrónico

## &#x20;Para enviar mensajes de correo electrónico&#x20;

{% hint style="warning" %}
¡Ten en cuenta!

Al ejecutar funciones para trabajar con mensajes de correo electrónico, la función devuelve:

a) o bien <mark style="color:verde;">**NINGUNO**</mark> — tras la ejecución exitosa de la función;

b) o <mark style="color:rojo;">**un estado de error**</mark> texto.
{% endhint %}

send\_email() | send\_email\_from\_bot() | send\_email\_template()

<details>

<summary>Descripción</summary>

<mark style="color:predeterminado;background-color:blue;">**Para enviar un mensaje de correo electrónico**</mark>

**send\_email(to\_email, subject, message)**&#x20;

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;to\_email - dirección de correo electrónico del destinatario** dirección de correo electrónico

<mark style="color:rojo;">**!**</mark>**&#x20;subject -** asunto del correo electrónico

<mark style="color:rojo;">**!**</mark>**&#x20;message -** texto del cuerpo del correo electrónico

<mark style="color:predeterminado;background-color:blue;">**Para enviar mensajes de correo electrónico a través del bot**</mark>

**send\_email\_from\_bot(email\_bot, client\_email, email\_subject, text, attachment\_url)**&#x20;

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;email\_bot** - dirección de correo electrónico vinculada al canal de distribución de correo electrónico \ <mark style="color:rojo;">**!**</mark>**&#x20;client\_email** - dirección de correo electrónico del cliente al que se enviará un mensaje\ <mark style="color:rojo;">**!**</mark>**&#x20;email\_subject** - asunto del correo electrónico (título)\ <mark style="color:rojo;">**!**</mark>**&#x20;text** - cuerpo del mensaje enviado por correo electrónico \
**attachment\_url** - URL del archivo adjunto&#x20;

<mark style="color:predeterminado;background-color:blue;">**Para reenviar un borrador o un correo electrónico enviado**</mark>

**send\_email\_template(mailing\_id, client\_email, email\_bot, date)**

Parámetros:

<mark style="color:rojo;">**!**</mark>**&#x20;mailing\_id** - ID de la plantilla de envío masivo (ya sea un borrador o un correo electrónico listo)

<mark style="color:rojo;">**!**</mark>**&#x20;client\_email** - dirección de correo electrónico del destinatario

**email\_bot** - dirección de correo electrónico del remitente; por defecto, el correo electrónico conectado al proyecto

**date** - fecha de envío del correo electrónico en formato ‘dd.mm.yyyy HH:mm’. Si la fecha está en el pasado u omitida, el correo electrónico se enviará inmediatamente después de llamar a la función.

</details>

<details>

<summary>Ejemplo</summary>

Para enviar un mensaje de correo electrónico:

<div data-with-frame="true"><figure><img src="/files/b2214040b26210ef8aaf744d2487e0acfdfbe8c7" alt=""><figcaption></figcaption></figure></div>

Envío a través del bot

<div data-with-frame="true"><figure><img src="/files/9da0df41e2e55842b51e0817dfd7918b1d310127" alt=""><figcaption></figcaption></figure></div>

Ejemplo de envío de un correo electrónico enviado previamente:

Tomamos la variable de la lista de envíos: id.

En este ejemplo, es 483, que se usará como mailing\_id.

Vamos al constructor y llamamos a la función con los siguientes parámetros:

Opción 1: especificando los parámetros explícitamente:

`e_letter = send_email_template('483', "test@mail.ru", '', '09.08.2022 15:00')`

Opción 2: especificando los parámetros mediante variables:

`mailing_id = '483'`\
`client_email = 'test@mail.ru' # correo electrónico del destinatario`\
`email_bot = ''`\
`date = '09.08.2022 15:00' # como la fecha ya ha pasado en el momento del envío, el correo electrónico se enviará inmediatamente al llamar a la función`\
`e_letter = send_email_template(mailing_id, client_email, email_bot, date)`

<div data-with-frame="true"><figure><img src="/files/5f99778890f7e699621ebdc09e9e76a436af0033" alt=""><figcaption><p>Ejemplo de configuración para enviar un correo electrónico</p></figcaption></figure></div>

Como resultado, al llamar a la función, se envió la plantilla del correo electrónico previamente preparado a <test@mail.com>.

</details>

<details>

<summary>Ejemplo de código para copiar</summary>

```
send_email('john.smith@gmail.com', 'Este es un título', 'Y este es un texto')

/*a través del bot*/
mailing = send_email_from_bot('test_channel@test.com', 'test_client@gmail.com', 'Asunto del correo. Solo simple', 'Hola, te envío mi mensaje', 'https://sun9-82.userapi.com/impg/L3ZYWHnlseIQsqZO')
```

</details>

## Para confirmar envíos a la dirección de correo electrónico del cliente

confirm\_email\_subscription()

<details>

<summary>Descripción</summary>

**confirm\_email\_subscription(email, sender\_name, bot\_email, callback,client\_name)**

{% hint style="info" %}
Esta función está diseñada para recopilar el consentimiento de los clientes para enviar campañas de correo electrónico.

Cuando un cliente proporciona su dirección de correo electrónico a través del mensajero, primero se envía una solicitud de consentimiento.&#x20;Solo se crea un cliente de correo electrónico después de que el cliente confirma su consentimiento.

Como resultado, las direcciones de correo electrónico con consentimiento confirmado se consideran más confiables, lo que ayuda a mejorar la entregabilidad general de tus correos electrónicos y la reputación del remitente.
{% endhint %}

{% hint style="warning" %}
¡Importante!&#x20;

No puedes enviar envíos masivos que contengan contenido potencialmente promocional sin el consentimiento del cliente.

No ignores esta información para evitar sanciones por infracciones.
{% endhint %}

Parámetros:

**correo electrónico** - dirección de correo electrónico del cliente para verificación y adición

**sender\_name** - nombre de la empresa de la que solicitas el consentimiento para recibir boletines

**bot\_email** - dirección de correo electrónico del bot a la que se vinculará un nuevo cliente de correo electrónico

**callback** - si se requieren o no callbacks para los clientes que confirman su dirección de correo electrónico y para un nuevo cliente de correo electrónico (predeterminado: False)

**client\_name** - nombre que se asignará a un cliente de correo electrónico

Los callbacks enviados tendrán el siguiente formato:

"client\_accept\_email\_subscription: #{email}" - callback para un cliente que confirma su dirección de correo electrónico

"email\_client\_accepted\_by ID:#{@client.id}" - callback para un nuevo cliente (el ID del cliente que confirma se almacenará en la variable client\_father\_id)

Envía un mensaje para verificar la dirección después de que el usuario proporcione su correo electrónico.

Después de que el usuario confirme su consentimiento para recibir boletines de la empresa, se añadirá un nuevo cliente de correo electrónico a tu lista.

De este modo, no tendrás "leads muertos" en tus campañas, y tu base de datos de correo electrónico consistirá solo en direcciones de clientes realmente interesados en tus productos.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/es/chatbot/functions/calculadora/email.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
