Desenvolvimento

14 mai, 2010

Desenvolvendo um sistema de mailing com o Google Docs

Publicidade

O compartilhamento e
as vantagens do Google Docs já foram citadas em meu artigo anterior,
onde vimos uma maneira de trabalhar com gráfico de Gantt.

A proposta de hoje é coletar informações de contatos em um
formulário, organizá-las em uma planilha e enviar e-mails com base
nessas informações, integrando o Google Docs com o Gmail.

Veja o fluxo abaixo:

Portanto, é importante
que sua conta do Google também tenha habilitação para o Gmail, além do
Docs.

Criando o
formulário de coleta de dados

Vamos criar um formulário que fará a coleta dos dados os
usuários. Um formulário do Google Docs coleta dados e os adiciona em
uma planilha. 

Neste exemplo serão
coletados o nome e o e-mail do usuário.

No Google Docs,
clique em Criar novo > Formulário.

Na
tela do formulário, preencha o Título e o Texto informativo.

Edite as perguntas. Um formulário do Google Docs, por padrão, vem com duas
perguntas, neste caso basta editá-las clicando no ícone de edição (um lápis). Clique em concluído pra finalizar.

No primeiro campo, sugira a inserção do nome e, no
segundo, o preenchimento do e-mail.

Se quiser, marque a caixa “tornar esta pergunta
obrigatória” para validar a entrada do campo.

Nota: Você pode inserir o
formulário em um website clicando em Mais Ações
> Incorporar, e também alterar o tema
de visualização clicando no botão tema. Para utilizar o
formulário, utilize o endereço gerado no rodapé.

Clique em Ver
Respostas > Planilha. A planilha de coleta das informações está
pronta para receber os dados.

Modificando
a planilha para enviar e-mails

Agora
é necessário fazer algumas modificações na planilha para que ela possa
enviar e-mail aos usuários cadastrados.

Neste
exemplo, vou utilizar um modelo de texto que será personalizado com o
nome do usuário. Assim, fica fácil editar um novo texto e enviar a todos
os contatos sem necessidade de alteração do script.

Defina a célula D1 como “Texto da mensagem” e a E1 como “Total de usuários”. Agora é necessário saber quantos usuários estão
cadastrados. Para isso, utilizaremos a função CountA, que conta a
quantidade de células com valores em um intervalo definido.

Na célula F1,
defina o valor da fórmula para =CountA(B2:B1000), assim ele contará os usuários da linha 2 até a 1000.

Para isolar o modelo do texto da mensagem, é interessante
condicioná-lo em uma nova planilha.

Clique em Adicionar Página. Clique na na nova planilha (Página2) e selecione Renomear, defina o nome para Modelo.

Na planilha Modelo,
defina as células conforme a figura abaixo:

Perceba que na célula B2
utilizei o texto da seguinte maneira: Olá $nome…

O $nome é um
coringa, para que o texto possa ser personalizado com o nome do usuário.
Para isso, será utilizada a função Substitute.

Na planilha Página1, célula D2, insira a fórmula =SUBSTITUTE(Modelo!$B$2;”$nome”;B2;0). Essa fórmula fará a troca
do texto coringa $nome pelo nome do usuário cadastrado na
planilha.

Replique a fórmula até o fim de sua lista de usuários.

Criando o script para enviar e-mails

A
última parte de nosso estudo, enviar os e-mails para os contatos.

O Google
Docs trabalha com scripts (baseados em linguagem java) que manipulam
classes, otimizando os recursos. Neste exemplo vamos
utilizar a classe MailApp para enviar os e-mails linha a linha.

Clique no menu Ferramentas > Scripts > Editor de
Scripts.

No editor, insira o script
abaixo:


// Envio de e-mail
function EnviarEmail() {

// Variáveis
var vplan = SpreadsheetApp.getActiveSheet();
var vtotal = vplan.getRange("f1").getValue();
var vparamail = "";
var vmsgmail = "";
var vassunto = "Teste de envio";

//Varre a lista de e-mails
for (var i = 2; i < (vtotal+2); ++i){

//Recupera os valores
vparamail = vplan.getRange(i, 3).getValue();
vmsgmail = vplan.getRange(i, 4).getValue();
vplan.getRange(i,5).setValue("E-mail enviado");

// Envia o e-mail
MailApp.sendEmail(vparamail, vassunto, vmsgmail);

}
}?

Salve seu
script como o nome EnviarEmail. 

Nota: se preferir, coloque uma
descrição.

Neste momento, o script já pode ser executado da janela do
editor, mas é interessante acessar o mesmo pela forma que será mais
utilizada.

A seguir, feche
a janela do Editor de Script.

Clique em Ferramentas >
Script > Gerenciar… e selecione o script EnviarEmai. Clique em Run.

Nota: na primeira execução, será
necessário autorizar o Gmail a enviar as mensagens, portanto, na tela
abaixo clique em Authorize

Durante a execução, será exibido na coluna E o
texto “E-mail Enviado”, confirmando o envio.

Através desses
procedimentos, podemos atribuir mais uma nova função ao Google Docs,
receptor de dados e envio de e-mails.

Disponibilizei a planilha deste exemplo como
um modelo público.

Até a próxima!