{"id":344,"date":"2012-04-05T15:00:53","date_gmt":"2012-04-05T18:00:53","guid":{"rendered":"https:\/\/felipeelia.com.br\/?p=344"},"modified":"2019-02-15T18:39:44","modified_gmt":"2019-02-15T21:39:44","slug":"wordpress-envio-de-email-por-smtp-gmail","status":"publish","type":"post","link":"https:\/\/felipeelia.com.br\/wordpress-envio-de-email-por-smtp-gmail\/","title":{"rendered":"WordPress + envio de e-mail por SMTP + Gmail"},"content":{"rendered":"
Se seu servi\u00e7o de hospedagem n\u00e3o tem servidor de e-mails (ou se o servidor de e-mails vive caindo, ou se \u00e9 imposs\u00edvel de configurar, etc.) voc\u00ea pode enviar os e-mails do WordPress<\/a> atrav\u00e9s de uma conex\u00e3o SMTP<\/strong> com outro servidor com o plugin WP Mail SMTP<\/a>.<\/p>\n Para enviar os e-mails atrav\u00e9s do gmail de forma mais segura, n\u00e3o \u00e9 mais aconselh\u00e1vel usar os dados SMTP do Google. Agora o plugin\u00a0WP Mail SMTP\u00a0precisa do c\u00f3digo de uma aplica\u00e7\u00e3o web. Embora isso possa parecer trabalhoso, na verdade \u00e9 um processo que, al\u00e9m de r\u00e1pido, \u00e9 gr\u00e1tis. Al\u00e9m disso, usar os dados de SMTP do Google requeria uma outra configura\u00e7\u00e3o (usar aplicativos menos seguros) que era mais complicada do que obter o seu token.<\/p>\n\n Baixe o plugin<\/a> atrav\u00e9s do reposit\u00f3rio ou acesse seu Painel, v\u00e1 em Plugins, depois em Adicionar Novo e digite\u00a0 V\u00e1 em Configura\u00e7\u00f5es\u2192 WP Mail SMTP e preencha os campos\u00a0E-mail do remetente<\/strong> e\u00a0Nome do remetente<\/strong>. IMPORTANTE:<\/strong> o campo E-mail do remetente precisa ser preenchido com o seu endere\u00e7o do gmail.<\/p>\n No campo\u00a0Mailer<\/strong> selecione Gmail<\/strong> e marque o campo Na se\u00e7\u00e3o logo abaixo voc\u00ea vai precisar dos c\u00f3digos da sua aplica\u00e7\u00e3o Web l\u00e1 no Gmail. Siga os pr\u00f3ximos passos<\/a>, ou envie este link para o seu cliente, para consegui-los.<\/p>\n O Google disponibiliza uma ferramenta chamada Google API. L\u00e1 voc\u00ea consegue utilizar os servi\u00e7os do Google externamente, como Google Maps, Gmail, Drive e etc. L\u00e1 voc\u00ea vai ter Projetos, APIs e Credenciais. Uma vis\u00e3o geral, para entender melhor, seria:<\/p>\n E assim por diante. \u00c9 legal entender essa organiza\u00e7\u00e3o, porque o Google costuma alterar um pouco a navega\u00e7\u00e3o dessa \u00e1rea, ent\u00e3o entendendo como funciona, voc\u00ea vai se achar mais f\u00e1cil se mexerem l\u00e1.<\/p>\n Os passos abaixo s\u00e3o necess\u00e1rios para obter os dois c\u00f3digos necess\u00e1rios para fazer o plugin funcionar com o Gmail. \u00c9 preciso ter o valor do campo\u00a0Authorized redirect URI<\/strong>, fornecido pelo WP Mail SMTP, para completar o processo.<\/p>\n O que \u00e9 preciso fazer:<\/p>\n \u00c9 hora de voltar para o WordPress.<\/p>\n Volte para a tela de configura\u00e7\u00e3o do plugin (Painel\u2192 Configura\u00e7\u00f5es\u2192 WP Mail SMTP) para completar o processo, preenchendo os valores de\u00a0Client ID<\/strong>,\u00a0Client Secret<\/strong> e salvando. Cuidado para n\u00e3o colar espa\u00e7os em branco antes ou depois dos valores.<\/p>\n Ao clicar em Save Settings<\/em> e rolar a tela para baixo, voc\u00ea ver\u00e1 que apareceu um bot\u00e3o novo para que voc\u00ea possa autorizar o plugin a usar sua conta do gmail. Clique nele e siga o fluxo para permitir que o plugin use sua conta.<\/p>\n Depois de autorizado, volte para a tela de configura\u00e7\u00e3o do plugin e clique na aba Email test<\/em> para testar se os envios est\u00e3o sendo feitos.<\/p>\n Confira os valores de Client ID e\u00a0Client Secret.<\/p>\n Ao tentar instalar aqui no site, tive um problema no retorno do Google para o meu site. A parte final da URL cont\u00e9m um Se sua hospedagem n\u00e3o liberar seu acesso, h\u00e1 (na minha vers\u00e3o \u00e9 a linha 191) e altere para<\/p>\n Tente acessar novamente, dessa vez retirando da URL tudo do Este conte\u00fado \u00e9 baseado na documenta\u00e7\u00e3o oficial do plugin<\/a>.<\/p>\nPasso 1: Instale o plugin\u00a0WP Mail SMTP<\/h2>\n
WP Mail SMTP<\/code>\u00a0(a imagem do plugin \u00e9 um pombo). Instale e ative.<\/p>\n
Configura o endere\u00e7o de retorno para corresponder ao E-mail do remetente<\/code>.<\/p>\n
Passo 2: Crie uma Aplica\u00e7\u00e3o Web<\/h2>\n
\n
\n
\n
\n
\n
\n
\n
\n<\/li>\n
\n<\/li>\n
\nQual API voc\u00ea usa?<\/strong> Gmail API
\nDe onde voc\u00ea chamar\u00e1 a API?<\/strong>\u00a0Servidor da Web (por exemplo, node.js, Tomcat)
\nQue dados voc\u00ea acessar\u00e1?<\/strong>\u00a0Dados do usu\u00e1rio
\n<\/li>\n
\nNome:<\/strong> deixe o padr\u00e3o ou altere para qualquer outra coisa, n\u00e3o far\u00e1 diferen\u00e7a para obter os c\u00f3digos (este campo s\u00f3 \u00e9 usado como refer\u00eancia).
\nOrigens JavaScript autorizadas:<\/strong> o endere\u00e7o do seu site com http:\/\/<\/code> ou
https\/\/<\/code>, mas sem \/ no final. No meu caso ficou\u00a0
https:\/\/felipeelia.com.br<\/code>
\nURIs de redirecionamento autorizados:<\/strong>\u00a0como eu disse no come\u00e7o desta se\u00e7\u00e3o, o valor deste campo \u00e9 fornecido pelo plugin, na tela de configura\u00e7\u00e3o, no campo\u00a0Authorized redirect URI<\/strong>. Ao lado do campo existe um bot\u00e3o que j\u00e1 copia o valor para voc\u00ea:
\nNo fim das contas, fica assim:
\n<\/li>\n
\nEndere\u00e7o de e-mail:<\/strong> deixe o seu
\nNome do produto mostrado aos usu\u00e1rios:<\/strong> coloque o nome do seu site. S\u00f3 \u00e9 usado para refer\u00eancia.
\n<\/li>\nPasso 3: Concedendo acesso e testando o envio de e-mails<\/h2>\n
Poss\u00edveis erros<\/h2>\n
Erros gerais<\/h3>\n
Erro 406 –\u00a0Not Acceptable<\/h3>\n
https:\/\/<\/code>, que o
mod_security<\/code> trava. Se \u00e9 o seu caso, tente desativar o
mod_security<\/code> no painel da sua hospedagem ou, se n\u00e3o houver esta op\u00e7\u00e3o, entre em contato com o suporte.<\/p>\n
uma gambiarra<\/del> um modo de contornar. Abra o arquivo src\/Providers\/Gmail\/Auth.php<\/code> e encontre o trecho<\/p>\n
if ( isset( $_GET['scope'] ) ) {\n\u00a0 \u00a0 $scope = urldecode( $_GET['scope'] );\n}<\/code><\/pre>\n
if ( isset( $_GET['scope'] ) ) {\n\u00a0 $scope = urldecode( $_GET['scope'] );\n} else {\n\u00a0 $scope = 'https:\/\/www.googleapis.com\/auth\/gmail.send';\n}<\/code><\/pre>\n
&scope=<\/code> pra frente. Veja se funciona e n\u00e3o esque\u00e7a de desfazer a sua mudan\u00e7a<\/strong>, isto \u00e9, de voltar o arquivo ao seu conte\u00fado original.<\/p>\n
\n