Você está na página 1de 26

Coluna Dreamweaver - Sistema de Newsletter - Parte 1

Introduo
Esse um sistema feito em php e banco de dados mysql, ele realiza o cadastro e remoo de e-mail mediante confirmao que enviada por e-mail. Faz o envio de e-mails em formato de texto ou HTML atravs de um servidor SMTP. Optei em utilizar a conexo SMTP devido a provedores como o IG no receberem mensagens vindo de uma conexo sem autenticao, e a maioria dos outros servidores classificarem como lixo eletrnico. Esse tutorial est dividido em quatro partes, sendo essa a primeira.

26

Pr-requisito
Conhecimentos bsico em PHP e MYSQL Autorizao para criar tabelas no banco de dados Recomendo a leitura dos artigos escrito pelo Marcelo Ariatti e Fbio Ricotta sobre o desenvolvimento do contedo de uma newsletter

Contedo
Vamos precisar de uma tabela para armazenar os endereos de e-mail, ento vou passa a estrutura da tabela que deve se chamar newsletter para que vocs possam criar.

Ou se preferir aqui vai o cdigo de criao da tabela newsletter CREATE TABLE `newsletter` ( `id` int(11) NOT NULL auto_increment, `email` varchar(40) default NULL, `codigo` varchar(150) NOT NULL default '', `ativo` varchar(8) default NULL, PRIMARY KEY (`id`) Agora vamos criar as pginas que sero utilizadas em todo o tutorial, ou seja, nas quatro partes 1. 2. 3. 4. Pressione Ctrl + N Selecione a guia Geral Na opo Categoria selecione a opo Pagina Dinmica Na opo Pagina Dinmica selecione a opo PHP

5. Clique em Criar

26

6. Na barra de inserir clique na guia PHP 7. Agora clique no boto Bloco de cdigo

8. Salve com o nome de config.php, com base nesses mesmo processos crie as pginas: enviar_email.php, index.php, confirmar.php e smtp.class.php que sero utilizada nas proximas etapas Agora vamos criar o formulrio para que os usuarios possam se cadastrar e efetuar e descadastramento do seu e-mail ento abra a pgina index.php 1. Na barra inserir clique na guia Formulrios 2. Clique no boto Formulrio

3. No Inspetor de propriedade coloque como ao para enviar para a pgina enviar_email.php

4. Em seguida clique no boto Campo de texto

26

5. No Inspetor de propriedade coloque o nome do campo de texto como e-mail

6. Volte para a guia Formulrios da barra inserir e clique no Boto de rdio

7. No Inspetor de propriedade coloque como nome do boto opcao e o valor de assinar

8. Volter novamente para a guia Formulrio da barra inserir e clique no boto rdio

9. No Inspetor de propriedade coloque como nome do boto opcao e o valor de remover

10. Clique no boto adicionar boto

Pronto o formulrio ja foi criado. Voc pode identificar os campos e editar este formulario desde que no altere os nomes e valores dos ampos. Se voc estiver no modo de visualizao do projeto mude para o modo de visualizao do cdigo. Para verificar o cdigo gerado igual o meu.

26

<form name="form1" method="post" action="enviar_email.php"> <input type="text" name="e-mail"> <input type="radio" name="opcao" value="assinar"> <input type="radio" name="opcao" value="remover"> <input type="submit" name="Submit" value="Enviar"> </form> Feche essa pgina e agora iremos criar a pgina que conter a classe de conexo e autenticao do servidor SMTP. Devido a esse assunto no est relacionado a esse tutorial vamos apenas copiar o cdigo e no altere nada. Essa uma classe de autenticao SMTP que achei na internet, muito simples porm muito funcional. Abra a pgina smtp.class.php e cole o cdigo <? class Smtp{ var $conn; var $user; var $pass; var $debug; function Smtp($host){ $this->conn = fsockopen($host, 25, $errno, $errstr, 30); $this->Put("EHLO $host"); } function Auth(){ $this->Put("AUTH LOGIN"); $this->Put(base64_encode($this->user)); $this->Put(base64_encode($this->pass)); } function Send($to, $from, $subject, $msg){ $this->Auth(); $this->Put("MAIL FROM: " . $from); $this->Put("RCPT TO: " . $to); $this->Put("DATA"); $this->Put($this->toHeader($to, $from, $subject)); $this->Put("\r\n"); $this->Put($msg); $this->Put("."); $this->Close(); if(isset($this->conn)){ return true; }else{ return false; }

26 } function Put($value){ return fputs($this->conn, $value . "\r\n"); } function toHeader($to, $from, $subject){ $header = "Message-Id: <". date('YmdHis').".". md5(microtime()).".". strtoupper($from) ."> \r\n"; $header .= "From: <" . $from . "> \r\n"; $header .= "To: <".$to."> \r\n"; $header .= "Subject: ".$subject." \r\n"; $header .= "Date: ". date('D, d M Y H:i:s O') ." \r\n"; $header .= "X-MSMail-Priority: Low \r\n"; $header .= "MIME-Version: 1.0 \r\n"; $header .= "Content-type: text/html; charset=iso-8859-1\r\n"; return $header; } function Close(){ $this->Put("QUIT"); if($this->debug == true){ while (!feof ($this->conn)) { echo fgets($this->conn) . "<br>\n"; } } return fclose($this->conn); } } ?>

Consideraes final
Na prxima parte vamos montar a pgina que vai receber as informaes desse formulrio e executar os comandos que atenda a solicitao especificada. Qualquer comentrio que vocs deixarem ser bem vindo. Deixem seus pedidos de tutorias para as prximas colunas clicando aqui Autor: Marcelo Ramos - Colunista Dreamweaver do Portal MXSTUDIO Qualquer dvida envie um email para ramos.marcelosouza@gmail.com ou acesse o nosso frum

Coluna Dreamweaver - Sistema de Newsletter Parte 2


Introduo

Vamos criar as pginas para receber as informaes vinda do formulrio e os comandos reponsveis em executa o cadastro ou remoo do endereo de e-mail cadastrado no banco de dados.

26

Pr-requisito
Ter lido a primeira parte de tutorial

Contedo
Abra a pgina config.php para fazemos a conexo com o banco de dados Se voc estiver no modo de visualizao do projeto mude para o modo de visualizao do cdigo.

Vamos criar uma pgina para efetuar conexo com o banco de dados e depois apenas inclui-la nas outras pginas, fao isso para evitar ter que criar uma conexo em cada pgina. Para fazer uma conexo com o banco de dados devemos dentro do bloco de cdigo do PHP informar o endereo do servidor mysql ($host) depois o usurio desse servidor ($usuario), a senha do usurio ($senha) e o nome do banco de dados ($banco) depois utilizar o comando conectar do PHP para mandar se conectar (mysql_connect) e o comando selecionar para pode selecionar o banco de dados (mysql_select_db) desejado. /* configuraesmysql */ $host = "localhost"; /* endereo do servidormysql */ $usuario = "usuario"; /*usuario do banco de dados */ $senha = "senha"; /* senha do banco de dados */ $banco = "banco"; /* nome do banco de dados onde esto os emails*/ mysql_connect($host,$usuario,$senha); mysql_select_db($banco); Pronto nossa conexo com o banco de dados esta feita agora feche essa pgina e abra a pgina enviar_email.php. A pgina enviar_email.php vai ser responsvel por enviar os e-mails de confirmao de cadastro ou remoo do e-mail. Para isso vamos fazer a incluso da classe smtp.class.php que vai realizar a conexo e autenticao SMTP para que os e-mails possam ser enviados ao usurio que esta fazendo a solicitao. Se voc estiver no modo de visualizao do projeto mude para o modo de visualizao do cdigo.

Dentro do Bloco de cdigo vamos fazer a incluso da classe smtp.class.php atravs do comando include

<?php include ("smtp.class.php"); ?> Com a classe j includa agora vamos configurar a conexo SMTP, primeiro vamos iniciar uma nova conexo (new), depois informar de um endereo do servidor (host), usurio (user) e senha (pass) e informar que ser ativada a autenticao (debug). Para fazer a configurao basta apenas declarar o valor das variveis com os seus dados. <?php include ("smtp.class.php"); /* Configurao da classe.smtp.php */ $host = "smtp.mail.yahoo.com.br"; /*host do servidor SMTP */ $smtp = new Smtp($host); $smtp->user = "usuario"; /*usuario do servidor SMTP */ $smtp->pass = "senha"; /* senha dousuario do servidor SMTP*/ $smtp->debug = true; /* ativar a autenticao SMTP*/ ?> Vamos incluir tambm a pgina que vai realizar a conexo com o banco de dados, para que possa fazer insero do e-mail e uma consulta para evitar que o mesmo e-mail tenha cadastro repetido, e na hora da remoo sabe se o e-mail esta cadastrado. include("config.php"); /* Pgina que vai fazer a conexo com obd */ Agora vamos armazenar as informaes que esto sendo enviado pelo formulrio nas variveis, que sero responsveis por inserir as informaes no banco de dados e enviar um e-mail de confirmao de cadastro ou remoo da assinatura da newsletter. Como o formulrio est enviando os dados por meio da funo POST, ou seja, as informaes inseridas no formulrio esto anexadas junto ao nome do campo do formulrio. Ento vamos criar uma varivel para o e-mail ($emaill) e declarar que seu valor ser igual (=) ao campo de nome e-mail do formulrio ($_POST["email"]), e o mesmo para o campo opo, ficando assim: /* Recebendo as informaes do formulario */ $email = $_POST["e-mail"]; $opcao = $_POST["opcao"]; Para evitar que qualquer pessoa possa cadastrar ou remover o e-mail sabendo apenas o endereo, vamos criar um cdigo secreto que ser enviado junto com a mensagem, atravs desse cdigo ser localizado o e-mail e somente a pessoa que recebeu pode fazer a confirmao. Ento vamos pegar o endereo de e-mail e codificar com a funo md5 do PHP que utilizar o RSA DataSecurity e retorna um nmero hexadecimal de 32 caracteres, para que cada e-mail tenha um cdigo diferente e nico. Agora vamos criar a varivel e declarar que seu valor ser o e-mail codificado. /* Criar umcodigo secreto para confirmao do e-mail */ $codigo = md5($email);

26

Antes de fazer a insero do e-mail no banco de dados vamos saber se foi digitado um e-mail ou se o campo esta vazio. Para isso utilizaremos o comando if e else, ou seja, vamos aplicar um teste de verdadeiro ou falso, se for verdadeiro (if) que a varivel com o endereo de e-mail ($email) estiver vazia (" "), ento vamos mostrar (echo) uma frase informando o erro (O campo de e-mail est vazio) e utilizar um comando para redirecionar (location.href) para a pgina do formulrio. if($email == ""){/* verifica se o e-mail foi digitado */ echo "<script>alert('O campo de e-mail est vazio');"; echo "location.href='index.php'</script>"; /* redireciona de volta aoformulario */ } else{ } Agora vamos identificar a opo escolhida pelo usurio e executar o comando para atender a solicitao. Vamos criar mais um teste de falso ou verdadeiro, ento se for verdadeiro (if) que a opo ($opo) e igual (= ) assinar (assinar) ento vamos executar um comando para cadastrar o e-mail e enviar uma mensagem de confirmao, mais se essa opo no for verdadeira mais mesmo assim for verdade (elseif) que a opo ($opcao) igual (=) a remover (remover) ento vamos executar o comando de remoo e enviar uma mensagem de confimao. Mais se for falso (false) as duas opes anteriores e porque no foi selecionada nenhuma opo, ento mostre (echo) uma frase informando o erro ('Voc tem que selecionar Assinar ou Remover') e utilizar o comando para redirecionar (location.href) para a pgina do formulrio. No se esquea que somente sero realizados esses comandos se a varivel que contem o e-mail no estiver vazia, ento temos que declarar esses comandos dentro da opo false do primeiro teste que fizemos para saber se foi digitado um e-mail. if($email == ""){/* verifica se o e-mail foi digitado */ echo "<script>alert('O campo de e-mail est vazio');"; /* alerta ousuario que o campo est vazio */ echo "location.href='index.php'</script>"; /* redirecionar para que seja preenchido corretamente */ } else{ /* inicio da identificao da opo escolhida */ if($opcao == "assinar"){/* se opo for assinar ento execute comando para adicionar*/ } elseif($opcao == "remover"){ /* se opo for remover ento execute comando para remover */ } else{ /* se a opo no foi nenhuma das duas, ento houve um erro*/ echo "<script>alert('Por favor, selecione se quer ASSINAR ou REMOVER o e-mail.');"; echo "location.href='index.html'</script>"; } /* fim da identificao da opo escolhida */ } Como j identificamos a opo informada pelo usurio, agora vamos comear com o caso de a opo escolhida ter sido a de assinar.

26

Ento dentro do caso de ter sido verdadeiro a opo assinar do teste de identificao da opo escolhida, vamos criar uma varivel ($sql) e seu valor ser um comando para realizar uma conexo com o banco de dados (mysql_query), e seleciona todas as colunas (SELECT *) da tabela (FROM) releases e filtrar (WHERE) a coluna e-mail (email) com o e-mail informado para saber se o e-mail est cadastrado. Ento se for verdadeiro (if) que o e-mail j esteja cadastrado ((mysql_num_rows($sql)==1)), ou seja se a consulta no banco de dados resultou em um registro porque o e-mail j esta cadastrada ento mostre (echo) uma frase de erro (Este e-mail j est cadastrado!) e caso seja falso (else) ento execute o comando para inserir o e-mail e enviar a mensagem. if($opcao == "assinar"){/* se opo for assinar ento execute comando para adicionar*/ /* verifica se o e-mail esta cadastrado */ $sql = mysql_query("SELECT * FROM newsletter WHERE email = '$email'"); if(mysql_num_rows($sql)==1){ /* teste para sabe se o e-mail esta cadastrado */ echo " Este e-mail j est cadastrado!"; } else{ } } Caso o e-mail no esteja cadastrado ento vamos executar o comando que far a insero do e-mail no banco de dados, para isso vamos criar um comando para se conectar no banco de dados (mysql_query) e depois dar a instruo de inserir dados (INSERT INTO) nas colunas (id,email,codigo,ativo) com as informaes das variveis ('','$email','$codigo','n')"), como a tabela esta configurada para que a coluna id seja auto-preenchida s deixar em branco, j a coluna emails ser preenchida com o valor da varivel email e a coluna cdigo ser preenchida com o nosso cdigo secreto, e o status ter o valor de n, informando que ainda no esta ativo o e-mail, mais para garantir uma segurana maior vamos codificar novamente o nosso cdigo secreto, s que agora com a funo sha1 que nos retornar um nmero hexadecimal de 40 caracteres, garantindo assim uma maior segurana. if($opcao == "assinar"){/* se opo for assinar ento execute comando para adicionar*/ $sql = mysql_query("SELECT * FROM newsletter WHERE email = '$email'"); if(mysql_num_rows($sql)==1){/* teste para sabe se o e-mail esta cadastrado */ echo " Este e-mail j est cadastrado!"; } else{ /* se o e-mail no estiver cadatrado */ $codigo = sha1($codigo); /* cdigo secreto */ mysql_query("INSERT INTO newsletter (id,email,codigo,ativo) VALUES ('','$email','$codigo','n')") or die(mysql_error()); /* inseri a informaes nobd */ } } Com o e-mail j inserido no banco de dados, agora vamos enviar uma mensagem para o e-mail cadastrado, informando o cadastro e solicitando que seja clicado em um link para que seja ativado. Esse link vai conte uma varivel de nome cdigo e seu valor ser o cdigo secreto (codigo=$codigo) que vai ser responsvel por localizar o e-mail e mudar seu status de n que significa no ativo, para s

26

que significa ativo, e mais uma varivel (&) de nome opo que ter o valor da opo escolhida pelo usurio, que nesse caso ele deseja adicina (?opcao=adiciona). Para que a mensagem possa ser enviada ela deve conte um remetente ($from) que o seu e-mail, um destinario ($to) que vai se o e-mail cadastrado, um assunto ($subject), e a mensagem ($msg), e depois devemos chamar a classe SMTP e mandar enviar, e tambm vamos mostrar (echo) uma frase na tela informando que o cadastro foi realizado com sucesso e foi enviado uma mensagem de confirmao para o e-mail cadastrado. if($opcao == "assinar"){/* se opo for assinar ento execute comando para adicionar*/ $sql = mysql_query("SELECT * FROM newsletter WHERE email = '$email'"); if(mysql_num_rows($sql)==1){ echo " Este e-mail j est cadastrado!"; } else{ $codigo = sha1($codigo); mysql_query("INSERT INTO newsletter (id,email,codigo,ativo) VALUES ('','$email','$codigo','n')") or die(mysql_error()); /* envia uma mensagem solicitando a ativao */ $from= "seuemail@seusite.com.br"; /* seu e-mail */ $to = $email; /* o e-mail cadastrado*/ $subject = "Confirmar cadastro"; /* assunto da mensagem */ $msg = "Voc est recebendo esta mensagem porque algum adicionou esse e-mail<br>"; $msg .= "Para confirma clique no link abaixo"; $msg .= "<a href='http://seusite.com/confirmar.php?opcao=adiciona&codigo=$codigo' target=_blank>Clique aqui para confirmar </a>"; $smtp->Send($to, $from, $subject, $msg);/* faz o envio da mensagem */ /* mostra mensagem na tela */ echo "<script>alert('Um e-mail de confirmao agora foi enviado para o $email.');"; echo "location.href='index.html'</script>"; } }/* fim do comando para assinar */ Dentro do caso de ter sido verdadeiro a opo remover do teste de identificao da opo escolhida, vamos criar uma varivel ($sql) e seu valor ser um comando para realizar uma conexo com o banco de dados (mysql_query), e seleciona todas a coluna (SELECT *) da tabela (FROM) releases e filtrar (WHERE) a coluna e-mail (email) com o e-mail informado para saber se o e-mail est cadastrado, ou seja, para remover um e-mail preciso saber primeiro se o e-mail es cadastrado. E se for verdadeiro (if) que a consulta no banco de dados resultou em nenhum registro e porque no tem nenhum e-mail no banco de dados (mysql_num_rows($sql)==0), ento vai mostrar (echo) uma frase de erro (" E-mail no cadastrado em nosso sistema!"), mais se for falso (else) essa verificao e o e-mail est realmente cadastrado, ento vamos mandar enviar uma mensagem ($msg) com o link contendo uma varivel de nome cdigo com o seu valor sendo o cdigo secreto (codigo=$codigo) e mais uma varivel (&) de nome opo com o seu valor sendo a opo de remover (?opcao=remover) para ($to) o e-mail cadastrado ($email), com o assunto ($subject) de cancelamento de conta, e depois chamar a classe smtp e mandar enviar a mensagem e mostrar uma mensagem na tela dizendo que seu pedido foi processado e para que possa efetuar o cancelamento preciso fazer uma confirmao para saber se o e-

26

mail dele mesmo. Mais antes como tinha codificado o cdigo secreto com a funo sha1 para o cadastro, teremos que codificar para ser igual ao armazenado no banco de dados. elseif($opcao == "remover"){ /* se opo for remover ento execute comando para remover */ $sql =mysql_query("SELECT * FROM newsletter WHERE email = '$email'"); if(mysql_num_rows($sql)==0){ echo " E-mail no cadastrado em nosso sistema!"; } else{ /* comando pra remover o e-mail */ $to = $email; $from = "seuemail@seusite.com"; $codigo = sha1($codigo); /* gerar o codigo secreto */ $subject = "Confirmar Cancelamento de Conta"; $msg = "Voc est recebendo esta mensagem porque algum tentou remover esse e-mail "; $msg .= "Clique no link abaixo para confirmar "; $msg .= "<a href='http://seusite.com/confirmar.php?opcao=remove&codigo=$codigo' target=_blank>"; $msg .= "Clique aqui </a>"; $smtp->Send($to, $from, $subject, $msg); echo "<script>alert('Um e-mail de confirmao foi enviado.');"; echo "location.href='index.html'</script>"; } }/* fim do comando para remover */ Esta pgina est pronta o cdigo deve est assim: <?php include ("smtp.class.php"); /*Configurao daclasse.smtp.php */ $host = "smtp.mail.yahoo.com.br"; /* host doservidor SMTP */ $smtp = new Smtp($host); $smtp->user = "usuario"; /*usuario doservidor SMTP */ $smtp->pass = "senha"; /*senha dousuario do servidor SMTP*/ $smtp->debug = true; /*ativar aautenticao SMTP*/ include("config.php"); /* Pgina que vai fazer a conexo com obd */ /* Recebendo as informaes doformulario */ $email = $_POST["e-mail"]; $opcao = $_POST["opcao"]; /* Criar umcodigo secreto para confirmao do e-mail */ $codigo = md5($email); /* verifica se o e-mail foi digitado */ if($email == ""){/* verifica se o e-mail foi digitado */ echo "<script>alert('O campo de e-mail est vazio');"; /* alerta ousuario que o campo est vazio */ echo "location.href='index.php'</script>"; /* redirecionar para que seja preenchido corretamente */

26

} else{ /* inicio da identificao da opo escolhida */ if($opcao == "assinar"){/* se opo for assinar ento execute comando para adicionar*/ $sql =mysql_query("SELECT * FROM newsletter WHERE email = '$email'"); if(mysql_num_rows($sql)==1){ echo " Este e-mail j est cadastrado!"; } else{ $codigo = sha1($codigo); mysql_query("INSERT INTO newsletter (id,email,codigo,ativo) VALUES ('','$email','$codigo','n')") or die(mysql_error()); $from= "seuemail@seusite.com.br"; /* seu e-mail */ $to = $email; /* o e-mail cadastrado*/ $subject = "Confirmar cadastro"; /* assunto da mensagem */ $msg = "Voc est recebendo esta mensagem porque algum adicionou esse e-mail<br>"; $msg .= "Para confirma clique no link abaixo"; $msg .= "<a href='http://seusite.com/confirmar.php?opcao=adiciona&codigo=$codigo' target=_blank>Clique aqui para confirmar </a>"; $smtp->Send($to, $from, $subject, $msg); echo "O e-mail <b>$email</b> foi cadastrado com sucesso!"; echo "<br>"; echo "Um e-mail de confirmao agora foi enviado para o mesmo."; } }/* fim do comando para adicionar */ elseif($opcao == "remover"){ /* se opo for remover ento execute comando para remover */ $sql =mysql_query("SELECT * FROM newsletter WHERE email = '$email'"); if(mysql_num_rows($sql)==0){ echo " E-mail no cadastrado em nosso sistema!"; } else{ $to = $email; $from = "seuemail@seusite.com"; $codigo = sha1($codigo); $subject = "Confirmar Cancelamento de Conta"; $msg = "Voc est recebendo esta mensagem porque algum tentou remover esse e-mail "; $msg .= "Clique no link abaixo para confirmar "; $msg .= "<a href='http://seusite.com/confirmar.php?opcao=remove&codigo=$codigo' target=_blank>"; $msg .= "Clique aqui </a>"; $smtp->Send($to, $from, $subject, $msg); echo "<script>alert('Um e-mail de confirmao foi enviado.');"; echo "location.href='index.html'</script>"; } }/* fim do comando para remover */ else{ /* se a opo no foi nenhuma das duas, ento houve um erro*/ echo "<script>alert('Por favor, selecione se quer ASSINAR ou REMOVER o e-mail.');"; echo "location.href='index.html'</script>"; }

26

/* fim da identificao da opo escolhida */ } ?> Agora vamos abrir a pgina comfirmar.php que ser reponsavel por fazer a confirmao do e-mail, efetuar a remoo e e mudar o statutd do e-mail. Ento vamos fazer a incluso da pgina de conexo com o banco de dado para isso: Se voc estiver no modo de visualizao do projeto mude para o modo de visualizao do cdigo.

26

Na Barra inserir do dreamweaver clique na guia PHP e clique no boto Bloco de cdigo

Vamos fazer a incluso da pgina responsavel pela conexo com o banco de dados utilizando a funo include include("config.php"); Vamos armazenar as informaes que esto vindo atravs do link que esta na mensagem de confirmao enviada. Como as informaes esto anexadas no link junto com o nome da varivel. Ento vamos criar a varivel opo ($opcao) e declara que seu valor est no link ($_GET) junto com a opo escolhida ($_GET["opcao"]) e o mesmo para o cdigo secreto. /* recebendo as informaes do link */ $opcao = $_GET["opcao"]; $codigo = $_GET["codigo"]; Agora vamos aplicar um teste de verdadeiro ou falso para identificar qual foi a opo escolhida pelo usurio. Se for verdadeiro (if) que a opo igual a adiciona ($opcao == "adiciona") ento execute o comando para ativar o e-mail, mais se esse teste for falso mais mesmo assim for verdadeiro (elseif) que a opo e remover ($opcao == "remove") ento execute o comando de remoo do e-mail, mais se for falso os dois teste anteriores e porque no foi selecionada nenhuma opo ento mostre (echo) o comando para redirecionar (location.href) de volta ao formulrio. /* inicio da identificao da opo escolhida */ if($opcao == "adiciona"){ /* se a opo for adicionar ento execute comando para ativar o e-mail */ } elseif($opcao == "remove"){/* se a opo for remover ento execute comando para remover */ } else{ echo "<script>alert('Por favor, selecione se quer ASSINAR ou REMOVER o e-mail.');"; echo "location.href='index.html'</script>";

} /* fim da identificao da opo escolhida */ Vamos comear com o caso de a opo escolhida ter sido a de adiciona. Lembrando que atravs do cdigo secreto que vamos localizar o e-mail e saber se esta cadastrado. Ento dentro do caso de ter sido verdadeiro a opo adiciona vamos executar o comando que far a atualizao do status do e-mail de n para s no banco de dados, para isso vamos criar uma varivel ($sql) e seu valor ser um comando para fazer uma conexo com o banco de dados (mysql_query) e depois dar a instruo de selecionar todas colunas (SELECT *) da tabela (FROM) newsletter e filtrar (WHERE) a coluna codigo com o valor igual (=) ao cdigo, para pode localizar o e-mail e sabe se verdadeiro. Para saber se o e-mail est cadastrado no banco de dados, vamos aplicar um teste. Se for verdadeiro (if) que o cdigo secreto foi localizado no banco de dados (mysql_num_rows($sql)==1), ou seja, a consulta efetuada resultou em um registro e porque o e-mail esta cadastrado, ento conecte-se no banco de dados (mysql_query) e atualize (UPDATE) na tabela newsletter a (SET) coluna status com o valor de s, e depois mostre (echo) uma frase informando que foi ativado o e-mail (E-mail ativado com sucesso) e mostre (echo) o comando de redirecionamento (location.href) para ir para a pagina principal do site. Mais se for falso o cdigo secreto (else) ento mostre (echo) a frase de erro (E-mail no encontrado no banco de dados) e mostre (echo) o comando de redirecionamento (location.href) para voltar ao formulrio. /* inicio do comando para adiciona */ $sql =mysql_query("SELECT * FROM newsletter WHERE codigo = '$codigo'"); if(mysql_num_rows($sql)==1){ mysql_query("UPDATE newsletter SET ativo = 's' WHERE codigo = '$codigo'"); echo "<script>alert('E-mail cadastrado com sucesso!');"; echo "location.href='/index.php'</script>"; } else{ echo "<script>alert('E-mail no encontrado no banco de dados.');"; echo "location.href='/index.php'</script>"; } /* fim do comando para adiciona */ Se a opo no foi adiciona e foi remover ento vamos criar uma varivel ($sql) e seu valor ser um comando para fazer uma conexo com o banco de dados (mysql_query) e depois dar a instruo de selecionar todas colunas (SELECT *) da tabela (FROM) newsletter e filtrar (WHERE) a coluna codigo com o valor igual (=) ao cdigo secreto, para pode localizar o e-mail e sabe se verdadeiro. E se for verdadeiro (if) que o cdigo secreto foi localizado no banco de dados (mysql_num_rows($sql)==1) ento se conecte com o banco de dados (mysql_query) e delete (DELETE) na (FROM) tabela newsletter o e-mail a qual o codigo informado pertena (WHERE codigo = '$codigo') e mostre (echo) uma frase informando o cancelamento (E-mail apagado com sucesso) e mostre (echo) o comando para redirecionar (location.href) para a pagina principal do site. Mais se o cdigo estiver errado ento mostre (echo) uma frase informando o erro (E-mail no encontrado no banco de dados) e mostre (echo) o comando para redirecionar (location.href) para o formulrio. /* inicio do comando para remove */ $sql =mysql_query("SELECT * FROM newsletter WHERE codigo = '$codigo'");

26

if(mysql_num_rows($sql)==1){ mysql_query("DELETE FROM newsletter WHERE codigo = '$codigo'"); echo "<script>alert('E-mail apagado com sucesso!');"; echo "location.href='index.php'</script>"; } else{ echo "<script>alert('E-mail no encontrado no banco de dados.');"; echo "location.href='/index.php'</script>"; } /* fim do comando para remove */ Codigo final da pgina comfimar.php <?php include("config.php"); $opcao = $_GET["opcao"]; $codigo = $_GET["codigo"]; /* inicio da identificao da opo escolhida */ if($opcao == "adiciona"){ /* inicio do comando para adiciona */ $sql =mysql_query("SELECT * FROM newsletter WHERE codigo = '$codigo'"); if(mysql_num_rows($sql)==1){ mysql_query("UPDATE newsletter SET ativo = 's' WHERE codigo = '$codigo'"); echo "<script>alert('E-mail cadastrado com sucesso! Agora j faz parte de nossa lista.');"; echo "location.href='/index.php'</script>"; } else{ echo "<script>alert('E-mail no encontrado no banco de dados.');"; echo "location.href='/index.php'</script>"; } } /* fim do comando para adiciona */ elseif($opcao == "remove"){ /* inicio do comando para remove */ $sql =mysql_query("SELECT * FROM newsletter WHERE codigo = '$codigo'"); if(mysql_num_rows($sql)==1){ mysql_query("DELETE FROM newsletter WHERE codigo = '$codigo'"); echo "<script>alert('E-mail apagado com sucesso!');"; echo "location.href='index.php'</script>"; } else{ echo "<script>alert('E-mail no encontrado no banco de dados.');"; echo "location.href='/index.php'</script>"; } } /* fim do comando para remove */ else{ echo "<script>alert('Por favor, selecione se quer ASSINAR ou REMOVER o e-mail.');"; echo "location.href='index.html'</script>"; }

26

/* fim da identificao da opo escolhida */ ?>

26

Consideraes finais
Finalizamos a primeira fase desse tutorial que foi o cadastro e remoo dos e-mails, nas prximas duas partes vamos aprender como enviar a newsletter para os e-mails que esto cadastrados no banco de dados, voc j pode publicar no seu site para pode ir cadastrando os e-mails. Eu recomendo a leitura dos artigos escritos pelo Marcelo Ariatti e Fbio Ricotta sobre o desenvolvimento do contedo de uma newsletter. Qualquer comentrio que vocs deixarem ser bem vindo. Deixem seus pedidos de tutorias para as prximas colunas clicando aqui Autor: Marcelo Souza Ramos - Colunista Dreamweaver do Portal MXSTUDIO Qualquer dvida envie um email para ramos.marcelosouza@gmail.com ou acesse o nosso frum

Coluna Dreamweaver - Sistema de Newsletter Parte 3


Introduo
Nessa penltima parte vamos criar o formulrio para envio da newsletter, que vai ter uma lista com todos os endereos de e-mails individuais e uma opo para enviar todos simultaneamente. Para enviar e-mail em HTML basta voc editar o cdigo em seu editor e colar no campo de mensagem

Pr-requisito
Conhecimentos bsico em PHP e MYSQL Leitura das partes anteriores

Contedo
Vamos criar as pginas que sero utilizada nesta parte e na prxima parte. 1. 2. 3. 4. 5. Pressione Ctrl + N Selecione a guia Geral Na opo Categoria selecione a opo Pagina Dinmica Na opo Pagina Dinmica selecione a opo PHP Clique em Criar

26

6. Na barra de inserir clique na guia PHP 7. Agora clique no boto Bloco de cdigo

8. Salve com o nome de index.php, com base nesses mesmo processos crie a pgina enviar_newsletter.php que ser utilizada na proxima parte Agora vamos abrir a pgina index.php e criar o formulrio para envio da newsletter. 1. Na barra inserir clique na guia Formulrios 2. Clique no boto Formulrio

3. No Inspetor de propriedade coloque como ao enviar para a pgina enviar_newsletter.php, e verifique se o mtodo est como POST

4. Agora vamos criar a lista com a opo de envio para todos os e-mails simultaneamente, e somente no final e que vamos acrescentar os endereos de e-mail individuais. Ento clique no boto Menu de lista, para adicionar uma lista.

26

5. No Inspetor de propriedade coloque como nome do Lista/Menu msg_para 6. Clique no boto Valores da Lista

7. Na caixa de configurao dos Valores da Lista clique no Identificador do Item e digite todos e no Valor tambm digite todos 8. Clique em OK

9. Vamos adicionar um campo para preenchimento do assunto da mensagem, clique no boto Campo de texto para adicionar o campo de texto.

10. No Inspetor de propriedade coloque o nome do campo de texto como msg_assunto

11. Agora vamos adicionar uma caixa de texto, onde ser escrita a mensagem. Clique no boto rea de texto

12. No Inspetor de propriedade coloque o nome da rea de texto como mensagem

26

13. Clique no boto adicionar boto

Pronto o formulrio ja foi criado, mais ainda no est pronto. Se voc estiver no modo de visualizao do projeto mude para o modo de visualizao do cdigo. e verifique se o cdigo gerado igual.

<form name="form1" method="post" action="enviar_newsletter.php"> <select name="select" size="1"> <option value="todos">todos</option> </select> <input name="msg_assunto" type="text" id="msg_assunto"> <textarea name="mensagem" id="mensagem"></textarea> <input type="submit" name="Submit" value="Enviar"> < /form> Agora vamos fazer com que na lista de opes seja mostrado todos os endereos de e-mail que esto no banco de dados, para que voc possa enviar a mensagem para destinarios especficos. Ento vamos criar uma conexo com banco de dados para buscar esses e-mail e depois atravs do comando de repetio while mostrar todos os e-mails que esto cadastrado. Mais para organizar todos essse endereos de e-mails de uma forma ordenada vamos utilizar uma array, para fazer a array vamos utilizar o comando mysql_fetch_array que coloca o resultado da consulta do banco de dados numa array automaticamente, e com o comando while imprimir todo o contedo na lista de opes. Ento vamos incluir a pgina config.php que contm a configurao para conexo com o banco de dados e criar uma varivel responsvel pela consulta no banco de dados ($sql) e declarar que seu valor ser (=) um comando para se conectar no banco de dados (mysql_query) e selecionar todas as colunas (SELECT *) da tabela (FROM) releases e filtrar (WHERE) apenas com os e-mail ativos (ativo = 's'). Depois vamos iniciar a rea de repetio com o comando while que vai repetir todos os endereos de e-mails, mais para isso devemos criar uma varivel para armazenar esses endereos ($lista) e declarar que seu valor ser o comando mysql_fetch_array que coloca o resultado da consulta ($sql) em uma array. Logo em seguida vamos criar mais uma varivel que vai mostrar o endereo de e-mail ($email) e declarar que seu valor ser igual (=) a um e-mail que est na varivel ($lista["email"]) que armazena a lista com todos os endereos, e conforme o comando while for repetindo os dados ele vai mostrar um endereo de e-mail diferente em cada loop at que todos os e-mail sejam mostrado.

Dentro da tag select e aps a tag </imput> vamos adicionar um Bloco de cdigo para PHP. Na barra inserir clique na guia PHP e clique no boto Bloco de cdigo, e dentro do bloco e adicionar os comandos.

26

<form name="form1" method="post" action="enviar_newsletter.php"> <select name="select" size="1"> <option value="todos">todos</option> /* Adicionar todos os endereos de e-mail na lista */ <?php include("config.php"); $sql = mysql_query("SELECT * FROM newsletter WHERE ativo = 's' AND tipo = 'noticia'"); while($lista = mysql_fetch_array($sql)){ $email = $lista["email"]; ?> </select> <input name="msg_assunto" type="text" id="msg_assunto"> <textarea name="mensagem" id="mensagem"></textarea> <input type="submit" name="Submit" value="Enviar"> < /form> Agora fora do bloco de cdigo para php vamos criar mais um tag imput com o valor do item sendo a varivel que contm o endereo de e-mail e seu valor tambm sendo a varivel que armazenar o email. <form name="form1" method="post" action="enviar_newsletter.php"> <select name="select" size="1"> <option value="todos">todos</option> /* Adicionar todos os endereos de e-mail na lista */ <?php include("config.php"); $sql = mysql_query("SELECT * FROM newsletter WHERE ativo = 's' AND tipo = 'noticia'"); while($lista = mysql_fetch_array($sql)){ $email = $lista["email"]; ?> /* Imprime todos os e-mail na lista */ <option value="<?=$email?>"><?=$email?></option> </select> <input name="msg_assunto" type="text" id="msg_assunto"> <textarea name="mensagem" id="mensagem"></textarea> <input type="submit" name="Submit" value="Enviar"> < /form>

E para finalizar vamos depois da tag imput que acabamos de criar fechar a rea de repetio <form name="form1" method="post" action="enviar_newsletter.php"> <select name="select" size="1"> <option value="todos">todos</option> /* Adicionar todos os endereos de e-mail na lista */ <?php include("config.php"); $sql = mysql_query("SELECT * FROM newsletter WHERE ativo = 's' AND tipo = 'noticia'"); while($lista = mysql_fetch_array($sql)){ $email = $lista["email"]; ?> /* Imprime todos os e-mail na lista */ <option value="<?=$email?>"><?=$email?></option> /* Fim da area de repetio */ <?php } ?> </select> <input name="msg_assunto" type="text" id="msg_assunto"> <textarea name="mensagem" id="mensagem"></textarea> <input type="submit" name="Submit" value="Enviar"> < /form>

26

Consideraes Finais
Na prxima parte que a ultima vamos criar os comando que faro o envio da newsletter. Qualquer comentrio que vocs deixarem ser bem vindo. Deixem seus pedidos de tutorias para as prximas colunas clicando aqui Autor: Marcelo Souza Ramos - Colunista Dreamweaver do Portal MXSTUDIO Qualquer dvida envie um email para ramos.marcelosouza@gmail.com ou acesse o nosso frum

Coluna Dreamweaver - Sistema de Newsletter - Parte Final


Introduo
Nessa ultima parte vamos criar os comandos que executaro o envio da newsletter

Pr-requisito
Conhecimentos bsico em PHP e MYSQL Leitura das partes anteriores

Contedo

Abrar a pgina enviar_newsletter.php A pgina enviar_newsletter.php vai ser responsvel por enviar a newsletter para todos os e-mail cadastrado no banco de dado, ou somente para um determinado e-mail que voc deseja. Para isso vamos fazer a incluso da classe smtp.class.php que vai realizar a conexo e autenticao SMTP para que os e-mails possam ser enviados. Se voc estiver no modo de visualizao do projeto mude para o modo de visualizao do cdigo.

26

Dentro do Bloco de cdigo vamos fazer a incluso da classe smtp.class.php atravs do comando include <?php include ("smtp.class.php"); ?> Com a classe j includa agora vamos configurar a conexo SMTP que necessita de um endereo de servidor (host), usurio (user), senha (pass) e informar que ser ativada a autenticao (debug) para que possa enviar os e-mails corretamente. Para fazer a configurao basta apenas declarar o valor das variveis utilizada na classe com os seus dados. <?php include ("smtp.class.php"); /* Configurao da classe.smtp.php */ $host = "smtp.mail.yahoo.com.br"; /*host do servidor SMTP */ $smtp = new Smtp($host); $smtp->user = "usuario"; /*usuario do servidor SMTP */ $smtp->pass = "senha"; /* senha dousuario do servidor SMTP*/ $smtp->debug =true; /* ativar a autenticao SMTP*/ ?> Vamos incluir tambm atravs do comando include, a pgina que vai realizar a conexo com o banco de dados para que possa se consultados os endereos de e-mail cadastrado que vo se enviados. include("config.php"); /* Pgina que vai fazer a conexo com obd */ Agora vamos receber as informaes que esto sendo enviadas pelo formulrio atravs mtodo POST, ou seja, as informaes inseridas no formulrio esto anexadas junto ao nome do campo do formulrio. Ento vamos criar variveis para armazenar essas informaes, comeando pela varivel para armazenar o destinario ($to) e declarar que seu valor ser igual (=) ao campo de nome msg_para ($_POST["msg_para"]) do formulrio e o mesmo para o assunto e mensagem. /* recebendo as informaes do formulrio */ $to = $_POST["msg_para"]; $subject = $_POST["msg_assunto"]; $msg = $_POST["mensagem"];

26 Agora vamos identificar para qual destinario ser enviada a mensagem, se ser enviado para um destinario especifico ou ser enviada para todos os e-mails cadastrados e ativos do banco de dados. Para isso vamos aplicar um teste de verdadeiro ou falso na varivel que contm o destinario da mensagem ($to), ento se for verdadeiro (if) que o destinario e todos ($to == "todos") ento execute comando para enviar mensagem todos os endereos de e-mails no banco de dados, mais se for falso (else) e porque ento o destinario ser um nico endereo de e-mail especifico. if($to == "todos"){ /* envia para todos */ } else{ /* envia para um e-mail especifico */ } Dentro do caso de ter sido verdadeiro que a mensagem ser enviado para todos os endereos de emails, vamos criar uma varivel ($sql) com o seu valor sendo um comando para se conectar (mysql_query) e realizar uma consulta no banco de dados e selecionar todas as colunas (SELECT *) da tabela releases (FROM releases) e filtr-la com todos os e-mail que esto ativos (WHERE ativo='s') para que seja extrado os endereos de e-mail que vo ser enviados, tambm vamos criar uma varivel para saber a quantidade de e-mail nessa consulta ($total) e que devem ser enviados, para isso vamos utilizar o comando para contar os registro (mysql_num_rows) da consulta ($sql), e vamos criar outra varivel com o valor de zero para pode contar os e-mail que foram enviados corretamente ($enviados) e outra para contar os e-mail que no foram enviados ($falhado). $sql = mysql_query("SELECT * FROM newsletter WHERE ativo = 's'"); $total = mysql_num_rows($sql); /* quantidade de registros */ $enviados = 0; /* conta os e-mails enviados */ $falhado = 0; /* conta os e-mail que no foram enviado */ Para buscar todos os e-mails no banco de dados e enviar um de cada vez vamos dar inicio a regio de loop, utilizando o comando de repetio chamado while. O comando while ser associado a uma varivel que vamos criar chamada lista ($lista) com o seu valor sendo igual (=) a uma array com todos os e-mail cadastrado e ativo, para criar esse array vamos utilizar a funo mysql_fetch_array que vai pegar todos os endereos de e-mail da consulta feita no banco de dados e colocar em uma array para o comando while pegar um e-mail enviar a mensagem, depois pegar outro e-mail e enviar a mensagem e assim consequentemente at que todos os e-mail tenham sido enviados. /* inicio do loop */ while($lista = mysql_fetch_array($sql)) /*coloca o resultado da consulta do banco de dados numa ARRAY e com o while imprime todo o conteudo da Array.*/ { Agora dentro da regio de loop vamos chamar e configurar a classe smtp igual fizemos no inicio e vamos criar a varivel que vai contr o destinario, ou seja, o endereo de e-mail de quem vai receber a mensagem, como os e-mails est armazenado na varivel lista ($lista), o valor da varivel destinario ($to) se declarado como sendo um e-mail que esta na nossa lista ($lista["email"]), esse endereo de email ser mudado automaticamente cada vez que for executado um loop, e depois vamos criar a varivel remetente ($from) com o seu valor sendo o seu e-mail. $host = "smtp.mail.yahoo.com.br"; /*host do servidor SMTP */ $smtp = new Smtp($host);

$smtp->user = "usuario"; /*usuario do servidor SMTP */ $smtp->pass = "senha"; /* senha dousuario do servidor SMTP*/ $smtp->debug =true; /* ativar a autenticao SMTP*/ $to = $lista["email"]; $from = "newsletter@embu.sp.gov.br"; Ainda dentro da regio de loop vamos chamar a classe smtp e mandar enviar a mensagem, mais para sabe se a mensagem foi enviada ou no vamos aplicar um teste de verdadeiro ou falso, ento se for verdadeiro (if) que a classe smtp enviou o e-mail ($smtp->Send($to, $from, $subject, $msg )) ento some mais um na varivvel que esta contando as mensagem enviadas ($enviados = $enviados + 1) e vamos criar mais uma varivel que vai armazenar uma mensagem ($mensagem) informado que foi enviado corretamente (Enviado Corretamente !), mais se esse teste for falso (else) ento vamos somar mais um na varivel que est contando os e-mail no enviados ($falhados = $falhados +1) e criar uma varivel que vai armazenar uma mensagem ($mensagem) informado que no foi enviada a mensagem (E-mail no enviado). if($smtp->Send($to, $from, $subject, $msg )) { $enviados = $enviados + 1; $mensagem = "Enviado Corretamente!"; } else{ $falhados = $falhados +1; $mensagem = "E-mail no enviado"; } Continuando ainda dentro da regio de loop vamos criar um relatrio parcial do envio de cada mensagem para pode saber se o e-mail foi enviado ou no, ento vamos identificar para quem foi enviada a mensagem e atravs do teste de verdadeiro ou falso que criamos anteriormente vamos sabe a situao do e-mail. Como ainda estamos dentro da regio de repetio essa mensagem ser mostrada a cada e-mail enviado. echo "Enviado para $to <br> Status: $mensagem<br>" Agora vamos fechar a regio de repetio e criar uma relatrio geral informando o total de e-mails que deveriam se enviados ($total), o total que foi enviado ($enviados) e o total que no foi enviado ($falhado), isso possvel graas as variveis que criarmos para conta os e-mail /* fim do loop */ } echo "E-mail que deveriam ser enviados: $total e-mails<br>"; echo "E-mail enviados: $enviados e-mails <br>"; echo "E-mail no enviados: $falhado <br>"; Agora vamos trabalhar no caso do e-mail ter sido um especifico, ou seja, no caso de ter sido falso o teste para o destinario ter sido para todos. Ento como o e-mail ja est armazenado na varivel ($to) que criamos no inicio e a classe smtp tambm ja est configurada, vamos apenas criar a varivel ($from) remetente e declarar que seu valor vai ser o seu e-mail, e mandar a classe SMTP enviar a mensagem, mais antes de mandar vamos aplicar um teste de verdadeiro ou falso para saber se a mensagem foi enviada, igual fizemos anteriormente

26

26 Entao se for verdadeiro (if) que a classe smtp enviou o e-mail ($smtp->Send($to, $from, $subject, $msg )) ento vamos criar uma varivel que vai armazenar uma mensagem ($mensagem) informado que foi enviado corretamente (Enviado Corretamente !), mais se esse teste for falso (else) ento vamos criar uma varivel que vai armazenar uma mensagem ($mensagem) informado que no foi enviada a mensagem (E-mail no enviado) e vamos criar um relatrio do envio da mensagem para pode saber se o e-mail foi enviado ou no, ento vamos identificar para quem foi enviada a mensagem e atravs do teste de verdadeiro ou falso que criamos anteriormente vamos sabe o status do e-mail else{ $from = "newsletter@embu.sp.gov.br"; if($smtp->Send($to, $from, $subject, $msg)){ $mensagem = "Enviado Corretamente!"; } else{ $mensagem = "E-mail no enviado"; } echo "Enviado para $to <br> Status: $mensagem<br>" } Cdigo Final: <?php include ("smtp.class.php"); /* Configurao da classe.smtp.php */ $host = "smtp.mail.yahoo.com.br"; /*host do servidor SMTP */ $smtp = new Smtp($host); $smtp->user = "usuario"; /*usuario do servidor SMTP */ $smtp->pass = "senha"; /* senha dousuario do servidor SMTP*/ $smtp->debug =true; /* ativar a autenticao SMTP*/ include("config.php"); /* Pgina que vai fazer a conexo com obd */ /* recebendo as informaes do formulrio */ $to = $_POST["msg_para"]; $subject = $_POST["msg_assunto"]; $msg = $_POST["mensagem"]; if($to == "todos"){ $sql = mysql_query("SELECT * FROM newsletter WHERE ativo = 's'"); $total = mysql_num_rows($sql); /* quantidade de registros */ $enviados = 0; /* conta os e-mails enviados */ $falhado = 0; /* conta os e-mail que no foram enviado */ /* inicio do loop */ while($lista = mysql_fetch_array($sql)) /*coloca o resultado da consulta do banco de dados numa ARRAY e com o while imprime todo o conteudo da Array.*/ { $host = "smtp.mail.yahoo.com.br"; /*host do servidor SMTP */

26 $smtp = new Smtp($host); $smtp->user = "usuario"; /*usuario do servidor SMTP */ $smtp->pass = "senha"; /* senha dousuario do servidor SMTP*/ $smtp->debug = true; /* ativar a autenticao SMTP*/ $to = $lista["email"]; $from = "newsletter@embu.sp.gov.br"; if($smtp->Send($to, $from, $subject, $msg )) { $enviados = $enviados + 1; $mensagem = "Enviado Corretamente!"; } else{ $falhados = $falhados +1; $mensagem = "E-mail no enviado"; } echo "Enviado para $to <br> Status: $mensagem<br>"; } /* fim do loop */ echo "E-mail que deveriam ser enviados: $total e-mails<br>"; echo "E-mail enviados: $enviados e-mails <br>"; echo "E-mail no enviados: $falhado <br>"; } else{ $from = "newsletter@embu.sp.gov.br"; if($smtp->Send($to, $from, $subject, $msg)){ $mensagem = "Enviado Corretamente!"; } else{ $mensagem = "E-mail no enviado"; } echo "Enviado para $to <br> Status: $mensagem<br>"; } ?>

Consideraes finais
Chegamos ao final da criao de uma newsletter e, eu recebi vrios e-mails com duvidas e problemas que encontraram no decorrer desse tutorial e espero te ajudado a todos, qualquer problema me avise por e-mail que eu respondo a todos dentro do meu tempo disponvel, No esquea de fazer a leitura dos artigos escritos pelo Marcelo Ariatti e Fbio Ricotta sobre o desenvolvimento do contedo de uma newsletter. Qualquer comentrio que vocs deixarem ser bem vindo. Deixem seus pedidos de tutorias para as prximas colunas clicando aqui Autor: Marcelo Souza Ramos - Colunista Dreamweaver do Portal MXSTUDIO Qualquer dvida envie um email para ramos.marcelosouza@gmail.com ou acesse o nosso frum

Você também pode gostar