Como enviar Emails pelo WordPress

No mundo do email existem dois tipos principais de envio, o Newsletter/Campanha e o email transacional.

Campanha de Emails

Para explicar um pouco mais do assunto, é necessário entender o que categoriza um email de Campanha. Basicamente o que é enviado de forma ativa pelo remetente, ou que seja enviado para uma lista baseado em uma ação.

Email Transacional

Esse tipo de email é um pouco diferente porque ele é enviado para apenas um usuário e apenas quando um evento acontece ou uma condição é cumprida pelo sistema.

É legal levar em consideração que os emails transacionais não deveriam parecer muito com uma campanha de email, para evitar ser considerado uma newsletter.


Serviços de Email

Na minha busca pela internet eu consegui achar vários tipos de serviços de email, alguns bons outros nem tanto, mas no final sempre a idéia é enviar emails de forma rápida e barata.

Um dos meus filtros foi aqueles serviços que me permitem enviar emails pela HTTP API, por estamos falando de WordPress em uma hospedagem compartilhada, e evitar uma conexão SMTP é trivial.

Não queria incluir na minha lista nenhum serviço que não possui uma tabela de preços ou uma documentação pública e de fácil acesso. Sendo esta uma das maiores regras, limou uma galera.

Minha última regra foi que deveria ser algo fácil de configurar e poderia ser utilizado após registrar uma conta.

Todos os listados acima, tem um plano inicial onde você poderá enviar uma boa quantidade de emails de graça, o que vai ajudar você no começo do projeto, e permite o teste de todos para ver qual te agrada mais.


Enviando emails com WordPress

Enviar emails com o WordPress é uma tarefa simples, o código abaixo resolve essa situação de forma trivial:

Não é porque algo é simples que deve ser ruim, você pode melhorar o código e permitir por exemplo vários recipientes usando apenas uma chamada da função:

Trocando os cabeçalhos do email para permitir a troca do Reply-To, que é o email para qual a resposta deve ser enviada:

Podemos fazer ainda mais, como trocar o Content-Type do nosso email, para permitir o uso de HTML no mesmo:

Quando estamos utilizando a wp_mail nós permitimos que plugins troquem a forma de envio dos emails, ou mude um procedimento padrão da função.

Emails pela HTTP API no WordPress

Primeiramente você precisa se registrar em um dos servidores de email que comentei acima.

Para garantir que todos os usuários vão receber os seus emails do WordPress, é muito importante que você ajuste as regras de DNS que irão permitir a verificação de integridade do seu domínio. Todos os servidores fazem essa verificação de forma simples, basta seguir os guias em seus respectivos sites.

Os plugins abaixo são os que eu testei e parecem funcionar bem para procedimentos simples de envio de email, se você precisar de um controle melhor sobre taxas de envio e outros por menores seria legal você contratar um desenvolvedor para te ajudar.

O único que não testei foi o Postmark, pois ele era muito velho, mas se você já utiliza o serviço deles, você pode testar e me dar a sua opinião nos comentários abaixo.

Finalizando

Eu estou utilizando neste site o MailGun, pois eu realmente gostei da documentação deles, mas em alguns dos meus clientes estou utilizando outros servidores e tem funcionado que é uma maravilha!

Avisando que se você realmente quer fazer o serviço de forma profissional, você precisa delegar algumas das funções para os especialistas na area, o que é o caso aqui.

Discussions — 10 Responses

  • Lucas Moreira April 30, 2014 on 12:36 am

    Olá Gustavo! Muito bom o artigo!! Estou com a seguinte dúvida: esta função funciona normalmente no localhost ou deve ser feita alguma configuração adicional? Obrigado

    Reply
    • Gustavo Bordoni Lucas Moreira August 7, 2014 on 11:48 am

      Oi Lucas, a principio o wp_mail funciona em qualquer servidor que esteja com um método de envio do PHP configurado. Normalmente com o um postfix configurado na maquina isso fica resolvido. Qual é o seu localhost?

      Reply
  • cesarfalcao November 22, 2014 on 4:06 pm

    Quais são os pontos positivos/negativos de usar Postfix no mesmo servidor comparado ao usar um serviço externo, como o Mandril?

    Reply
    • Gustavo Bordoni cesarfalcao November 24, 2014 on 9:14 am

      Olá Cesar, então o problema de usar o Postfix do seu servidor é que dependendo de como foi configurado (VPS), você vai estar usando o IP assinalado para a máquina para enviar e isso pode fazer com o que o seu domínio caia em alguma Blacklist pois estes IPs são rotacionados de forma aleatória, então você não tem muito como saber quem usou eles anteriormente.

      Se você configurar um server pessoal seu só para o envio de email, e garantir que o IP (fixo) está limpo, você tem várias vantagens ao usar um Postfix interno. Isso exige um pouco de expertise em configurar o postfix da forma correta.

      Usando o postfix internamente você consegue enviar mais emails e não tem que se preocupar com muitos limites de envios, pois é uma tarefa relativamente simples de se fazer, a não ser que esteja enviando na casa dos milhares por minuto.

      Reply
  • Thiago Sousa July 3, 2015 on 9:36 pm

    Gustavo estou montando um site em wordpress, www.all4type.com.br/2015, mas o formulario de email não envia, você poderia me ajudar?

    Reply
    • Gustavo Bordoni Thiago Sousa July 4, 2015 on 3:18 pm

      Como eu expliquei no artigo, muitas hospedagens realmente bloqueiam o envio de emails, o ideal seria você usar um dos plugins recomendados, se eles não funcionarem ai o ideal seria você passar qual o plugin de forumulário você está usando.

      Reply
  • Thiago Sousa July 4, 2015 on 3:22 pm

    Boa tarde não uso nenhum plugin, na programação ele ja me da um caminho de contact_us, e um theme wordpress e teoricamente deveria ja vir tudo pronto, o caminho é o , você poderia me ajudar a configurar esse contact para poder funcionar o envio de email via formulario que ja veio todo pronto?

    Reply
    • Gustavo Bordoni Thiago Sousa July 4, 2015 on 3:32 pm

      Então, mesma coisa que comentei acima, é um problema que provavelmente vem da sua Hospedagem e não do Tema. Tenta instalar um plugin dos recomendados no artigo acima para ver se resolve o teu problema.

      O mais simples é o Mandrill.

      Reply
  • Thiago Sousa July 4, 2015 on 3:46 pm

    Cara sou super fraco em php, eu teria que mudar isso no arquivo contact us, porque não queria mudar nada no layout do site de do formulario

    Reply
    • Gustavo Bordoni Thiago Sousa July 5, 2015 on 9:01 pm

      Como eu falei no artigo. Usar estes plugins não requer nenhuma mudança no seu tema, apenas instalar os plugins e fazer a configuração.

      Reply

Leave a Reply