+++
title = "Correo electrónico"
weight = 3
+++

#### Enviar correo electrónico.

{{% notice tip %}}
Siempre guarda las contraseñas de la forma más segura posible.
{{% /notice %}}

### send

Enviar un correo electrónico.

```python
from conf import PASSWORD

SERVER = dict(
    server = 'mail.correo.net' ,
    port = 405,
    ssl = True,
    user = 'no-responder@pruebas.mx',
    password = PASSWORD,
)

body = "Hola Ingrid\n\n¿Como estas?\n\nSaludos cordiales"

message = dict(
    to = 'ingrid@bergman.mx',
    subject = 'Te amo...',
    body = body,
)

app.email.send(SERVER, message)
```

Puede usar los campos `cc` (Con Copia) y `bcc` (Con Copia Oculta), así como separar por comas las direcciones destino para enviar a más de un correo.

```python
to = 'mail1@correo.com,mail2@correo.com,mail3@correo.com'
cc = 'otro@correo.com'
bcc = 'oculto@correo.com'
```

Podemos enviar más de un mensaje.

```python
mensaje1 = dict(
    to = 'ingrid@correo.net',
    subject = 'Te amo...',
    body = "Hola Ingrid\n\n¿Como estas?\n\nSaludos cordiales",
)
mensaje2 = dict(
    to = 'sophia@correo.net',
    subject = 'A ti también...',
    body = "Hola Sophia\n\n¿Como estas?\n\nSaludos cordiales",
)
mensajes = (mensaje1, mensaje2)

app.email.send(SERVER, mensajes)
```
```
16/08/2022 13:01:49 - DEBUG - Connect to: mail.server.net
16/08/2022 13:01:50 - DEBUG - Email sent...
16/08/2022 13:01:51 - DEBUG - Email sent...
16/08/2022 13:01:51 - DEBUG - Close connection...
```

Enviar un archivo adjunto.

```python
archivo = '/home/mau/temp.txt'
mensaje = dict(
    to = 'ingrid@bergman.mx',
    subject = 'Te amo...',
    body = "Hola Ingrid\n\n¿Como estas?\n\nSaludos cordiales",
    files = archivo,
)

app.email.send(SERVER, mensaje)
```

O varios.

```python
archivos = (
    '/home/mau/temp.txt',
    '/home/mau/datos.csv',
)
```

Si tu cliente de correo usa el formato `mbox`, puede guardar los correos enviados en una carpeta dentro de la configuración de su cliente de correo.

```python
ruta = '/home/mau/.thunderbird/7iznrbyw.default/Mail/Local Folders/LibreOffice'
mensaje = dict(
    to = 'ingrid@bergman.mx',
    subject = 'Te amo...',
    body = "Hola Ingrid\n\n¿Como estas?\n\nSaludos cordiales",
    path = ruta,
)

app.email.send(SERVER, mensaje)
```

{{% notice tip %}}
Todos los correos se envían siempre en otro hilo de ejecución.
{{% /notice %}}
