# WordPress e WooCommerce

> Passo a passo para o WordPress (e o WooCommerce) enviar e-mail pelo SMTP do Couryo com qualquer plugin de SMTP, ou sem plugin, com um trecho de código.

Fonte: https://couryo.com/docs/wordpress

Por padrão, o WordPress envia pela função `mail()` do servidor de hospedagem. Sem autenticação do seu domínio, esses e-mails (recuperação de senha, pedidos do WooCommerce, formulários de contato) caem no spam ou nem chegam. Trocando para SMTP autenticado, eles saem assinados com o seu domínio.

## Antes de começar

1. No Couryo, [verifique o domínio](https://couryo.com/docs/domains.md) do site (por exemplo, `exemplo.com.br`).
2. Crie uma chave de API com escopo `send`. Ela é a senha do SMTP.

## Com um plugin de SMTP

Funciona com qualquer plugin de SMTP genérico (FluentSMTP, WP Mail SMTP, Post SMTP e outros). Os nomes dos campos mudam um pouco entre eles; os valores são estes:

1. Em **Plugins > Adicionar novo**, instale e ative o plugin de SMTP que preferir.
2. Nas configurações do plugin, escolha a opção **Outro SMTP** (ou "SMTP genérico", "Other SMTP").
3. Preencha:

| Campo | Valor |
|---|---|
| E-mail do remetente (From Email) | um endereço do domínio verificado, como `nao-responda@exemplo.com.br` |
| Nome do remetente (From Name) | o nome da loja ou do site |
| Forçar o remetente (Force From Email) | ligado, para que plugins não troquem o endereço |
| Servidor SMTP (Host) | `smtp.couryo.com` |
| Criptografia | `TLS` (STARTTLS) |
| Porta | `587` (com `SSL`, use `465`) |
| Autenticação | ligada |
| Usuário | `couryo` |
| Senha | a chave de API (`ck_live_...`) |

4. Salve e use o **e-mail de teste** do plugin para mandar uma mensagem para você.
5. No painel do Couryo, em **E-mails**, a mensagem aparece com a linha do tempo e a resposta do servidor de destino.

> Se o plugin aceitar a senha por constante no `wp-config.php`, prefira: a chave fica fora do banco de dados.

## Sem plugin

Crie o arquivo abaixo (um "must-use plugin", carregado sempre) e ponha a chave no `wp-config.php`:

```php title="wp-config.php"
define('COURYO_API_KEY', 'ck_live_...');
```

```php title="wp-content/mu-plugins/couryo-smtp.php"
<?php
/**
 * Plugin Name: Couryo SMTP
 * Description: Envia os e-mails do WordPress pelo SMTP do Couryo.
 */
add_action('phpmailer_init', function ($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host = 'smtp.couryo.com';
    $phpmailer->Port = 587;
    $phpmailer->SMTPSecure = 'tls'; // STARTTLS; para 465 use 'ssl'
    $phpmailer->SMTPAuth = true;
    $phpmailer->Username = 'couryo';
    $phpmailer->Password = COURYO_API_KEY;
});

add_filter('wp_mail_from', fn () => 'nao-responda@exemplo.com.br');
add_filter('wp_mail_from_name', fn () => 'Exemplo');
```

Teste pela tela de login com **Perdeu a senha?**: o e-mail de redefinição deve aparecer no painel do Couryo em segundos.

## WooCommerce

Os e-mails do WooCommerce usam o mesmo `wp_mail`, então já saem pelo Couryo. Em **WooCommerce > Configurações > E-mails**, confira:

- **Nome e endereço do remetente** no domínio verificado (o mesmo do plugin);
- os e-mails de pedido que estão ligados, para não mandar avisos que ninguém lê.

Boleto **por link, não como anexo**: boleto anexado é muito usado em golpes, e os filtros desconfiam.

## Problemas comuns

| Sintoma | O que fazer |
|---|---|
| Teste do plugin falha com `535` | usuário diferente de `couryo` ou chave inválida, revogada ou sem escopo `send` |
| `550 5.7.1` | o From não está num domínio verificado, ou a conta ainda está no nível 0 |
| Erro de conexão ou tempo esgotado | a hospedagem pode bloquear a porta 587; tente a `465` com SSL ou a `2525` com TLS |
| Alguns e-mails ainda saem com outro remetente | ligue o **Forçar o remetente** no plugin |
| Chega, mas no spam | veja [Por que meu e-mail cai no spam](https://couryo.com/guias/email-caindo-no-spam.md) |
