Sites e aplicações

Configurar o PrestaShop para enviar correio por SMTP

Revisto a 3 min de leitura SMTP PrestaShop

Por predefinição, o PrestaShop envia os e-mails com a função mail() do PHP, que não autentica o envio. Por isso, muitos e-mails de encomendas, registos ou recuperação de palavra-passe acabam no spam ou não chegam. A solução é enviá-los por SMTP com uma conta de correio do seu domínio.

Onde se configura

Na administração do PrestaShop, vá a Advanced Parameters > E-mail (em versões antigas, Advanced Parameters > E-mail address).

Secção de e-mail em Advanced Parameters do PrestaShop

Marque Set my own SMTP parameters (for advanced users ONLY). Por baixo aparecerá o formulário com os dados de ligação.

Com uma conta de correio do seu alojamento

Se o correio do seu domínio estiver na Hostsuar, crie no cPanel a conta a partir da qual sairão os e-mails (por exemplo tienda@tudominio.com) e preencha:

Campo Valor
Mail domain name vazio
SMTP server localhost
SMTP username a conta completa, tienda@tudominio.com
SMTP password a palavra-passe dessa conta
Encryption None
Port 25

Usamos localhost sem encriptação porque o PrestaShop e o correio estão no mesmo servidor: a ligação não sai para a Internet.

Formulário de parâmetros SMTP do PrestaShop preenchido

Clique em Save. Verifique também se o e-mail da loja, em Shop Parameters > Contact > Stores (campo Shop email), é a mesma conta ou outra do mesmo domínio.

Com um fornecedor externo

Se o seu correio estiver noutro fornecedor (Google Workspace, Microsoft 365, etc.), use os dados que esse fornecedor lhe der: o seu servidor SMTP, normalmente a porta 587 com encriptação TLS ou a 465 com SSL, e o utilizador e a palavra-passe da conta. Com esses servidores, não use localhost nem a encriptação «None».

O Gmail e o Microsoft 365 já não aceitam a palavra-passe normal da conta: no Gmail precisa de uma palavra-passe de aplicação (com a verificação em dois passos ativada) e no Microsoft 365 de ter ativado o SMTP autenticado na caixa de correio.

Testar o envio

No fim da mesma página, em Test your email configuration, escreva um endereço seu e clique em Send a test email. Deve aparecer uma mensagem de sucesso e o e-mail deve chegar-lhe.

Depois, faça uma encomenda de teste e verifique se a confirmação chega ao cliente. Para receber você um aviso a cada encomenda, configure o módulo Mail Alerts.

Se der erro

  • Erro de autenticação: o utilizador deve ser o endereço completo e a palavra-passe a dessa conta. Experimente entrar com eles no webmail.
  • Não é possível ligar: reveja o servidor, a porta e a encriptação. Com localhost, a encriptação deve ser None e a porta 25.
  • O de teste chega, mas os das encomendas não: verifique se o remetente da loja é uma conta do seu domínio e veja o registo de e-mails (E-mail logs) no fim desta mesma página.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.