Alojamento web - Boas práticas de envio de e-mail
Escolha entre a função PHP mail() e o envio SMTP autenticado a partir do seu alojamento web e configure o SMTP com a sua conta de e-mail OVHcloud
Objetivo
O seu alojamento web oferece duas formas de enviar e-mails a partir do seu site: a função PHP mail() nativa, que utiliza os servidores de envio do seu alojamento, e o envio SMTP autenticado através de um endereço de e-mail associado ao seu domínio. Ambas são legítimas. mail() é o método por predefinição: não requer qualquer configuração, está sujeito a uma quota por alojamento e pode ser seguido a partir da sua Área de Cliente OVHcloud. O SMTP autenticado é a alternativa quando precisa de controlar a identidade do remetente: o endereço From: está ligado a uma conta autenticada e o e-mail transporta a assinatura do seu domínio. As suas quotas aplicam-se por endereço de e-mail e por endereço IP de origem, partilhado entre os sites de um alojamento partilhado.
Este guia ajuda-o a escolher entre os dois métodos e explica-lhe como configurar um envio SMTP autenticado a partir de um alojamento partilhado, quer gira um site WordPress, outro CMS ou uma aplicação PHP.
Requisitos
- Dispor de uma oferta de Alojamento web OVHcloud.
- Apenas para o envio SMTP autenticado: dispor de um endereço de e-mail associado ao seu nome de domínio (oferta MX Plan, E-mail Pro ou Exchange). Se ainda não tiver nenhum, consulte o guia Criar um endereço de e-mail com a oferta MX Plan.
Acesso à Área de Cliente OVHcloud
- Link direto:
- Percurso de navegação:
Web Cloud>Alojamentos> Selecione o seu alojamento web
Instruções
1. mail() ou SMTP autenticado: qual escolher?
Ambos os métodos enviam e-mails a partir do seu site. Diferem em:
- o servidor de envio do e-mail,
- as limitações de envio,
- a forma de os seguir.
Independentemente do método escolhido:
- Os servidores de destino (Gmail, Outlook, etc.) verificam se o domínio do
From:autoriza o servidor de envio. Mantenha os seus registos SPF, DKIM e DMARC corretos na sua zona DNS. - Um envio abusivo ou de spam a partir do seu alojamento ou do seu endereço de e-mail provoca um bloqueio automático. Se os seus e-mails já não são enviados, consulte o guia Seguimento dos e-mails automatizados.
- O tamanho total de um e-mail não pode ultrapassar 10 MB, cabeçalhos e codificação incluídos.
Formulários abertos: um vetor de abuso para ambos os métodos
Um formulário de contacto acessível publicamente, sem mecanismo de proteção, é um alvo privilegiado para os robôs. Os robôs exploram-no para enviar milhares de e-mails em poucos minutos através do seu alojamento: o IP partilhado é bloqueado e todos os clientes do cluster ficam prejudicados.
Implemente as seguintes proteções em qualquer formulário que desencadeie um envio de e-mail:
- Captcha: integre um sistema de verificação (Google reCAPTCHA v3, hCaptcha, ou um cálculo aritmético simples) para bloquear as submissões automatizadas.
- Limitação do débito: limite o número de envios por endereço IP do lado do servidor para evitar os abusos em rajada.
- Validação rigorosa das entradas: limpe todos os campos do formulário antes de os utilizar num e-mail — nunca confie nos dados introduzidos pelo utilizador.
A ausência de captcha num formulário de envio aberto é uma das causas mais frequentes de bloqueio dos alojamentos partilhados por envio de spam. Esta proteção é indispensável, seja qual for o método de envio.
2. Configurar o envio SMTP autenticado com uma conta de e-mail OVHcloud
Princípio
Envie os seus e-mails através de uma ligação SMTP autenticada para o servidor de correio OVHcloud, utilizando uma conta de e-mail associada ao seu domínio (por exemplo contact@mydomain.ovh).
Esta abordagem tem três vantagens:
- Autenticação garantida: o servidor OVHcloud verifica a sua identidade antes de aceitar o e-mail.
- SPF e DKIM: o e-mail é emitido por um servidor autorizado para o seu domínio e assinado com DKIM se o DKIM estiver ativado para o seu domínio.
- Uma única conta identificada: cada envio está ligado a um único endereço de e-mail, cuja palavra-passe pode alterar a qualquer momento para travar um script ou um plugin abusivo.
Envio com mail(): o domínio deve estar associado ao seu alojamento
Para enviar e-mails a partir do seu alojamento web com a função PHP mail(), o domínio utilizado no campo From: deve estar associado ao seu alojamento.
Este domínio não precisa de ser gerido na sua conta OVHcloud: pode utilizar um domínio registado noutro agente de registo, desde que esteja associado ao seu alojamento web: é esta associação que o autoriza a enviar e-mails em nome desse domínio.
Se o seu domínio ainda não estiver associado ao seu alojamento, adicione-o como multisite a partir da sua Área de Cliente OVHcloud e verifique depois a configuração DNS associada. Consulte o guia Partilhar o alojamento entre vários sites.
Um envio efetuado para um domínio que não está associado ao seu alojamento não pode ser autenticado: é tratado como um envio não autenticado, pelo que será rejeitado e registado como erro.
Porque é que o campo From: deve pertencer ao seu domínio
O campo From: do seu e-mail deve obrigatoriamente conter um endereço pertencente ao seu domínio (por exemplo contact@mydomain.ovh), e este endereço deve corresponder à conta SMTP utilizada para a autenticação.
Se o From: não corresponder ao domínio autorizado no registo SPF, ou se a assinatura DKIM não corresponder, os servidores de correio de destino (Gmail, Outlook, etc.) podem rejeitar o e-mail ou classificá-lo como spam.
Para maximizar a entregabilidade, verifique se os registos SPF, DKIM e DMARC estão bem configurados na sua zona DNS. O Gmail e o Yahoo Mail exigem-nos agora para os remetentes em volume. Consulte os nossos guias:
Formulários de contacto: campo From: fixo e Reply-To: do utilizador
Um erro frequente: colocar o endereço de e-mail introduzido pelo utilizador no formulário diretamente no campo From:. Por exemplo, um visitante introduz utilizador@gmail.com e o script utiliza este endereço como remetente.
Este comportamento é incorreto por duas razões:
- O registo SPF do seu domínio não autoriza os servidores Gmail (ou qualquer outro fornecedor terceiro) a enviar em seu nome → falha do controlo SPF.
- Está a enviar "em nome de" um endereço que não lhe pertence → risco elevado de classificação como spam ou de rejeição.
O esquema correto para um formulário de contacto:
Quando responde, o seu cliente de correio utiliza antes o endereço Reply-To:, sem comprometer a autenticação SPF/DKIM.
Eis como adaptar o exemplo PHPMailer para um formulário de contacto:
Nunca passe diretamente os dados de um formulário para o PHPMailer sem validação prévia. Utilize filter_var() para o endereço de e-mail e htmlspecialchars() + strip_tags() para os campos de texto, de forma a evitar as injeções de cabeçalhos de e-mail.
Parâmetros SMTP OVHcloud
Utilize os seguintes parâmetros para a sua conta de e-mail MX Plan (incluída no alojamento web):
Para as ofertas E-mail Pro ou Exchange, o servidor SMTP é diferente. Consulte a documentação de cada oferta para os parâmetros exatos.
Onde encontrar as suas credenciais SMTP
O nome de utilizador SMTP é o seu endereço de e-mail completo (por exemplo contact@mydomain.ovh).
A palavra-passe é a definida durante a criação do endereço, ou alterada a partir da Área de Cliente OVHcloud. Se a esqueceu ou pretende reiniciá-la, consulte o guia Alterar a palavra-passe de um endereço de e-mail.
A oferta MX Plan incluída no alojamento web está sujeita a quotas de envio (cerca de 200 e-mails por hora por conta), independentes da quota da função mail() do seu alojamento. O servidor SMTP OVHcloud aceita igualmente, no máximo, 300 e-mails por hora e por endereço IP de origem. Num alojamento partilhado, este endereço IP é partilhado com os outros sites alojados no mesmo cluster: por isso, atinge o limite mais rapidamente do que a partir do seu computador. As soluções de correio não foram concebidas para o envio em massa: para volumes importantes — newsletters ou e-mails transacionais — utilize um serviço terceiro dedicado a este fim.
Exemplo de código PHP com PHPMailer
O PHPMailer é a biblioteca PHP de referência para o envio de e-mails através de SMTP. Instale-a através do Composer:
Eis um exemplo completo de envio SMTP autenticado:
Nunca armazene a palavra-passe da sua conta de e-mail em texto simples num ficheiro PHP versionado. Utilize um ficheiro de configuração excluído do seu repositório Git (.gitignore).
Com esta configuração, cada e-mail enviado a partir do seu site é:
- autenticado junto do servidor OVHcloud,
- autorizado pelo registo SPF do seu domínio e assinado com DKIM se este estiver ativado,
- emitido por uma única conta identificada, cuja palavra-passe controla.
3. WordPress e outros CMS: utilizar um plugin SMTP
3.1 Como o WordPress envia os e-mails por predefinição
A função wp_mail() do WordPress utiliza em segundo plano a função PHP mail(), com um endereço From: definido pelo WordPress ou por cada plugin. Estes envios contam, por isso, para a quota do seu alojamento e pode segui-los a partir da Área de Cliente OVHcloud.
Para um remetente fixo e autenticado em todos os e-mails do seu site, instale um plugin SMTP que substitui wp_mail() por uma ligação SMTP autenticada para o seu servidor de correio OVHcloud.
3.2 Configurar o WP Mail SMTP
O WP Mail SMTP é o plugin mais utilizado para esta configuração.
Instalação:
- Na sua administração WordPress, aceda a Plugins > Adicionar novo plugin.
- Procure
WP Mail SMTPe clique em Instalar agora, depois em Ativar.
Configuração:
- Aceda a WP Mail SMTP > Definições no menu de administração.
- Na secção Remetente, preencha os seguintes campos:
- Na secção Mailer, selecione Outro SMTP.
- Preencha os parâmetros SMTP:
- Clique em Guardar definições.
- No separador Ferramentas, utilize Teste de envio de e-mail para verificar a configuração.
Ative a opção Forçar o e-mail do remetente para que todos os e-mails de saída utilizem o endereço configurado, mesmo que um plugin terceiro tente utilizar outro.
3.3 Alternativa: FluentSMTP
O FluentSMTP é uma alternativa leve e gratuita. A quota de envio da sua conta de e-mail aplica-se da mesma forma.
Instalação:
- Na sua administração WordPress, aceda a Plugins > Adicionar novo plugin.
- Procure
FluentSMTPe clique em Instalar agora, depois em Ativar.
Configuração:
- Aceda a FluentSMTP > Definições.
- Clique em Adicionar uma ligação e selecione Outro SMTP.
- Preencha os mesmos parâmetros que para o WP Mail SMTP:
- Clique em Guardar a ligação e envie um e-mail de teste.
3.4 Outros CMS (Drupal, Joomla, PrestaShop)
O princípio é idêntico para qualquer CMS ou framework: substitua a função de envio nativa por um módulo ou uma configuração SMTP autenticada.
Em todos os casos, os parâmetros SMTP são idênticos: servidor smtp.mail.ovh.net, porta 465 (SSL/TLS) ou 587 (STARTTLS), com autenticação pelo endereço de e-mail completo e a respetiva palavra-passe.
Quer saber mais?
Seguimento dos e-mails automatizados
Especificidades técnicas relacionadas com os alojamentos web
Melhorar a segurança dos e-mails através do registo SPF
Melhorar a segurança dos e-mails através do registo DKIM
Melhorar a segurança dos e-mails através do registo DMARC
Para prestações especializadas (SEO, desenvolvimento, etc.), contacte os parceiros OVHcloud.
Se pretender obter assistência na utilização e configuração das suas soluções OVHcloud, sugerimos que consulte as nossas diferentes ofertas de suporte.
Fale com a nossa comunidade de utilizadores.