A ideia de poder criar artigos através do envio de um e-mail é inovadora mas já anda há algum tempo a ser explorada por imensos desenvolvedores em todo o mundo, e no que toca a WordPress criar e postar um artigo através do envio de um e-mail já é possível. No entanto esta opção tem os seus lados negativos, e ao longo deste artigo irá não só ficar a conhecer o lado positivo de se postar através de e-mail, como também o lado e os pontos negativos relativamente a esse tema. Depois de seguir os passos indicados neste tutorial, ficará a saber como postar através de e-mail e terá a sua instalação WordPress habilitada a trabalhar com essa funcionalidade.
PUBLICANDO CONTEÚDOS MANUALMENTE
O primeiro passo é determinar os elementos relativamente à postagem por e-mail, nomeadamente o servidor de e-mail, a porta, o login, password e categoria em que os artigos serão inseridos. Para definir estas propriedades, dirija-se a Definições -> Escrita e insira os valores corretos para a utilização do e-mail:
Para que os novos artigos possam ser criados, pode ser feito de várias maneiras, seja fazer uma visita ao ficheiro wp-mail.php manualmente bastando digitar www.oseuwebsite.com/wp-mail.php depois de ter recebido o mail, carregar através de iframe para o footer do website, fazer a chamada no ficheiro functions.php ou inserir em um cronjob. Se não fizer a visita ao ficheiro wp-mail.php, a caixa de entrada do e-mail não será verificada e não serão inseridos quaisquer artigos.
De seguida vamos exemplificar o processo manual. O primeiro passo é enviar um e-mail para o mail definido nas opções de escrita da sua instalação WordPress:
Depois de enviado o e-mail, aceda ao ficheiro wp-mail.php utilizando o endereço www.oseuwebsite.com/wp-mail.php. No nosso caso, como estamos a utilizar uma conta GMail onde iremos fazer a busca pelos emails para criar os artigos, terá de passar por um processo de segurança da Google que irá bloquear o acesso do seu ficheiro wp-mail.php ao email. Para conceder o acesso, depois de recusado o acesso você irá receber um e-mail a informar que um login suspeito foi bloqueado, e onde terá acesso a um link onde poderá conceder permissões ao aplicativo, neste caso o wp-mail.php para que este possa aceder á sua caixa de entrada.
Caso não tenha recebido o e-mail, verifique se na sua conta do gmail não tem uma notificação a informar que um login suspeito foi detectado. Caso tenha, clique no link fornecido e será levado para o seguinte ecrã onde poderá conceder imediatamente o acesso ao aplicativo, ao clicar em “Yes” onde fala em permitir futuros logins do aplicativo:
Uma vez dada a permissão para o login do aplicativo na sua conta é altura de passar ao próximo passo, será presenteado com uma tela onde lhe é sugerido que faça login com o aplicativo nos próximos 10 minutos para que seja dada a permissão ao mesmo:
De seguida iremos fazer a busca do conteúdo no e-mail. Para isso, dirija-se uma vez mais ao seu ficheiro wp-mail.php no endereço www.oseuwebsite.com/wp-mail.php e desta vez o processo será concluído:
Como poderá verificar, tanto o email que enviámos para teste como o e-mail que foi recebido do suporte da Google a dar conta do login suspeito foram processados pelo aplicativo, o que significa que qualquer e-mail que você tenha na sua conta de entrada será processado, daí a importância de você criar uma conta de e-mail que mais ninguém conheça e que não esteja associada a por exemplo mailing lists, de forma a que você não publique inadvertidamente conteúdos que não interessam publicar. Embora existam alguns caracteres que não estão a ser processados devidamente, a importação do conteúdo é feita sem problemas e todos os caracteres são processados normalmente sem problemas.
Dirija-se ao seu painel de administração e observe que os artigos já se encontram presentes na lista:
Os artigos estão pendentes e não foram publicados automaticamente. Isto é particularmente útil para evitar que sejam publicados conteúdos de forma errónea, permitindo-lhe fazer a revisão dos conteúdos importados do seu e-mail. Depois de processados, os emails não serão buscados novamente, e se tentar fazer a busca por novos conteúdos, a mensagem que lhe será apresentada será a seguinte:
PUBLICANDO CONTEÚDOS AUTOMATICAMENTE
Apesar de não ter grandes vantagens relativamente ao processo manual, é possível fazer a busca de conteúdos de forma automática, através de uma série de truques. Isto poderá ser feito utilizando um iframe, a inserção de uma função no ficheiro functions.php do seu template ou definir um cronjob no seu servidor.
IFRAME
O primeiro que vamos abordar é a inserção de um pequeno trecho de código iframe no rodapé do seu website, bastando alterar o endereço para o endereço do seu website, que vai fazer com que quando o rodapé for carregado, o trecho de código seja processado e o wp-mail.php execute a sua função:
<iframe src="http://www.oseuwebsite.com/wp-mail.php" name="mailiframe" width="0" height="0" frameborder="0" scrolling="no" title=""></iframe>
Desta forma sempre que o seu website for visitado, os emails irão ser processados e inseridos no seu blog, removendo assim a necessidade de você visitar o wp-mail.php manualmente para fazer a busca pelos emails.
FUNCTIONS.PHP
O segundo método disponível tem a ver com a utilização de uma função e inseri-la no ficheiro functions.php presente na pasta do seu template. Este processo também é bastante simples e torna a importação dos emails automatica removendo a necessidade de você ter de o fazer manualmente. Localize o ficheiro functions.php na pasta do seu template e insira o seguinte código:
add_action('shutdown', 'retrieve_post_via_mail'); function retrieve_post_via_mail() { flush(); if(get_transient('retrieve_post_via_mail')) { return; } else { $mail = wp_remote_get(get_bloginfo('wpurl').'/wp-mail.php'); if(!is_wp_error($mail)) { set_transient('retrieve_post_via_mail', 1, 60 * 15); } else { set_transient('retrieve_post_via_mail', 1, 60 * 5); } }
Este código além da funcionalidade de fazer a verificação dos emails de forma automática, faz ainda uma ressalva em termos da frequência de verificação dos e-mails para não sobrecarregar o servidor. Este processo tem uma grande vantagem relativamente aos cronjobs, que se prende com o facto de que os cronjobs são executados independentemente do tráfego que o website tenha, o que pode levar a que se o website estiver num momento de sobrecarga e esteja no seu limite, ao executar um cron job em que a quantidade de processamento seja considerável poderá levar a que o servidor tenha um crash e os visitantes fiquem bastante frustrados.
CRONJOBS
A última opção que iremos apresentar é a utilização de um cronjob para executar o ficheiro wp-mail.php, de forma a fazer a verificação e importação de novos emails. Para isso, dirija-se ao cPanel do seu alojamento e procure os cronjobs. Depois de abrir a página dos cron jobs, procure a zona para inserir um novo. Neste caso estamos a definir que o cron job irá ser executado uma vez por hora, todas as horas, todos os dias, todos os meses e todos os dias da semana:
De seguida insira o seguinte código no campo “Command”:
php diretorio_da_instalacao/wp-mail.php
O código é bastante simples, passando apenas por apontar para o diretorio do seu blog onde está o ficheiro wp-mail.php. Depois de preencher os campos, clique em Add New Cron Job e será adicionado:
DICAS PARA A POSTAGEM ATRAVÉS DE EMAIL
Deixamos-lhe aqui algumas dicas que são valiosas e que convém você saber para compreender melhor o funcionamento da postagem por email:
- Cada email irá criar um novo artigo, em que o assunto do e-mail será o título do artigo, e o conteúdo do e-mail será o conteúdo do artigo.
- Só serão processados os emails que estiverem escritos em texto simples. Os emails que não estiverem em texto simples não serão processados e os emails que tiverem anexos não serão processados.
- Se no assunto do email estiver Re:, FW ou FWD esses caracteres serão inseridos como titulo do artigo, não havendo qualquer seleção de caracteres.
- No que toca ao conteúdo, poderá utilizar os dois pontos duas vezes seguidas “::” para determinar onde começa e onde acaba o conteúdo. Por exemplo, no campo assunto do email, se você colocar “Isto é um :: email” aquilo que será inserido como titulo do artigo é “Isto é um”. No que toca ao conteúdo do e-mail, se você inserir “Isto é o :: conteúdo” aquilo que será inserido é “conteúdo”.
- Se o email tiver sido enviado através de um email que corresponder a um utilizador existente dentro da instalação WordPress, o conteúdo será publicado em nome desse autor.
- Se o email for enviado de uma conta que não exista dentro da instalação WordPress, os artigos serão inseridos como pendentes ou como rascunho e o autor atribuido será aquele que tiver o ID menor.
- A primeira vez que o script wp-mail.php for executado, ele irá puxar TODOS os emails presentes na sua caixa de entrada
- Ao fazer a verificação manual por novos e-mails ao visitar o ficheiro wp-mail.php terá 2 hipóteses, ou verá os resultados da busca por novos e-mails, ou será apresentado um estado de erro. Se efetuar uma nova busca em menos de 5 minutos após a última, será apresentada uma mensagem a informar que nao poderá fazer novas buscas tao rapidamente.
- A criação de artigos através de e-mail não funciona em uma instalação WordPress MultiSite.
- No caso do GMail, o ficheiro wp-mail.php irá fazer a busca dos e-mails na pasta da Caixa de Entrada mas também existem relatos que todos os e-mails foram processados.
Abraço!