# E-mail

Configurações de envio e envio de e-mail a partir de templates.

O Nimbly envia e-mails para redefinição de senha, troca de e-mail e alertas, e o seu código envia os próprios pela mesma biblioteca. O envio é configurado no `.env`.

## Configure o envio

Com Resend:

```env
MAIL_SERVICE=resend
MAIL_FROM=no-reply@example.com
MAIL_FROM_NAME="Example"
RESEND_API_KEY=re_…
SYSTEM_ALERT_EMAIL=alerts@example.com
```

Com um provedor SMTP:

```env
MAIL_SERVICE=smtp
MAIL_FROM=no-reply@example.com
MAIL_FROM_NAME="Example"
SMTP_HOST=smtp.example.com
SMTP_PORT=465
SMTP_USER=…
SMTP_PASSWORD=…
SMTP_SECURE=smtps
```

`SMTP_SECURE` é `smtps` para TLS na porta 465, ou `starttls` para a porta 587. Defina `MAIL_FROM_NAME` com o nome do site, para que os destinatários reconheçam o remetente.

`SYSTEM_ALERT_EMAIL` recebe alertas sobre erros fatais e jobs que falharam de vez; sem ele, os alertas vão para `ADMIN_EMAIL`.

## Envie um e-mail

O corpo da mensagem é um template, então usa os mesmos shortcodes e variáveis de uma página:

```php
load_library('email');
load_library('env');
set_variable('lead', $lead);
$sent = email([
    'service' => env('MAIL_SERVICE', 'resend'),
    'from' => env('MAIL_FROM'),
    'from_name' => env('MAIL_FROM_NAME'),
    'recipient' => $lead['email'],
    'subject' => 'Thank you for your message',
    'tpl' => 'email-lead-thanks',
]);
```

`ext/tpl/email-lead-thanks/index.tpl`:

```html
<p>Dear [#get lead.name#],</p>
<p>Thank you for getting in touch. We will reply within two working days.</p>
```

Uma versão em texto simples é gerada a partir do HTML. Em vez de `tpl`, `html` passa um corpo que você mesmo gerou; `cc` e uma lista de destinatários também são aceitos. O `email()` devolve se o provedor aceitou a mensagem.

## Envie a partir de um job

Enviar leva um instante e pode falhar, então envie a partir de um [job](/pt/docs/guides/jobs/), não durante uma requisição de página. Um job que lança um erro é tentado de novo, e uma mensagem que não pode ser entregue vai para os jobs falhos no admin, com o erro do provedor.
