Você está na página 1de 26

26

Coluna Dreamweaver - Sistema de


Newsletter - Parte 1
Introdução

Esse é um sistema feito em php e banco de dados mysql, ele realiza o cadastro e remoção
de e-mail mediante confirmação que é enviada por e-mail. Faz o envio de e-mails em
formato de texto ou HTML através de um servidor SMTP. Optei em utilizar a conexão
SMTP devido a provedores como o IG não receberem mensagens vindo de uma conexão
sem autenticação, e a maioria dos outros servidores classificarem como lixo eletrônico.

Esse tutorial está dividido em quatro partes, sendo essa a primeira.

Pré-requisito

Conhecimentos básico em PHP e MYSQL


Autorização para criar tabelas no banco de dados
Recomendo a leitura dos artigos escrito pelo Marcelo Ariatti e Fábio Ricotta sobre o
desenvolvimento do conteúdo de uma newsletter

Conteúdo

Vamos precisar de uma tabela para armazenar os endereços de e-mail, então vou passa a
estrutura da tabela que deve se chamar newsletter para que vocês possam criar.

Ou se preferir aqui vai o código de criação 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 páginas que serão utilizadas em todo o tutorial, ou seja, nas quatro
partes

1. Pressione Ctrl + N
2. Selecione a guia Geral
3. Na opção Categoria selecione a opção Pagina Dinâmica
4. Na opção Pagina Dinâmica selecione a opção PHP
26
5. Clique em Criar

6. Na barra de inserir clique na guia PHP


7. Agora clique no botão Bloco de código

8. Salve com o nome de config.php, com base nesses mesmo processos crie as
páginas: enviar_email.php, index.php, confirmar.php e smtp.class.php que
serão utilizada nas proximas etapas

Agora vamos criar o formulário para que os usuarios possam se cadastrar e efetuar e
descadastramento do seu e-mail então abra a página index.php

1. Na barra inserir clique na guia Formulários


2. Clique no botão Formulário

3. No Inspetor de propriedade coloque como ação para enviar para a página


enviar_email.php

4. Em seguida clique no botão Campo de texto


26

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

6. Volte para a guia Formulários da barra inserir e clique no Botão de rádio

7. No Inspetor de propriedade coloque como nome do botão opcao e o valor de


assinar

8. Volter novamente para a guia Formulário da barra inserir e clique no botão rádio

9. No Inspetor de propriedade coloque como nome do botão opcao e o valor de


remover

10. Clique no botão adicionar botão

Pronto o formulário ja foi criado. Você pode identificar os campos e editar este formulario
desde que não altere os nomes e valores dos ampos. Se você estiver no modo de
visualização do projeto mude para o modo de visualização do código. Para verificar o
código 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 página e agora iremos criar a página que conterá a classe de conexão e
autenticação do servidor SMTP. Devido a esse assunto não está relacionado a esse tutorial
vamos apenas copiar o código e não altere nada. Essa é uma classe de autenticação SMTP
que achei na internet, é muito simples porém muito funcional. Abra a página
smtp.class.php e cole o código

<?
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);
}
}
?>

Considerações final

Na próxima parte vamos montar a página que vai receber as informações desse formulário
e executar os comandos que atenda a solicitação especificada. Qualquer comentário que
vocês deixarem será bem vindo. Deixem seus pedidos de tutorias para as próximas
colunas clicando aqui

Autor: Marcelo Ramos - Colunista Dreamweaver do Portal MXSTUDIO

Qualquer dúvida envie um email para ramos.marcelosouza@gmail.com ou acesse o nosso


fórum

Coluna Dreamweaver - Sistema de Newsletter


Parte 2
Introdução
26
Vamos criar as páginas para receber as informações vinda do formulário e os comandos reponsáveis
em executa o cadastro ou remoção do endereço de e-mail cadastrado no banco de dados.

Pré-requisito

Ter lido a primeira parte de tutorial

Conteúdo

Abra a página config.php para fazemos a conexão com o banco de dados

Se você estiver no modo de visualização do projeto mude para o modo de visualização do código.

Vamos criar uma página para efetuar conexão com o banco de dados e depois apenas inclui-la nas
outras páginas, faço isso para evitar ter que criar uma conexão em cada página.

Para fazer uma conexão com o banco de dados devemos dentro do bloco de código do PHP informar o
endereço do servidor mysql ($host) depois o usuário desse servidor ($usuario), a senha do usuário
($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.

/* configuraçõesmysql */
$host = "localhost"; /* endereço do servidormysql */
$usuario = "usuario"; /*usuario do banco de dados */
$senha = "senha"; /* senha do banco de dados */
$banco = "banco"; /* nome do banco de dados onde estão os emails*/
mysql_connect($host,$usuario,$senha);
mysql_select_db($banco);

Pronto nossa conexão com o banco de dados esta feita agora feche essa página e abra a página
enviar_email.php.

A página enviar_email.php vai ser responsável por enviar os e-mails de confirmação de cadastro ou
remoção do e-mail. Para isso vamos fazer a inclusão da classe smtp.class.php que vai realizar a
conexão e autenticação SMTP para que os e-mails possam ser enviados ao usuário que esta fazendo a
solicitação.

Se você estiver no modo de visualização do projeto mude para o modo de visualização do código.

Dentro do Bloco de código vamos fazer a inclusão da classe smtp.class.php através do comando
include
26
<?php
include ("smtp.class.php");
?>

Com a classe já incluída agora vamos configurar a conexão SMTP, primeiro vamos iniciar uma nova
conexão (new), depois informar de um endereço do servidor (host), usuário (user) e senha (pass) e
informar que será ativada a autenticação (debug). Para fazer a configuração basta apenas declarar o
valor das variáveis com os seus dados.

<?php
include ("smtp.class.php");

/* Configuração 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 autenticação SMTP*/
?>

Vamos incluir também a página que vai realizar a conexão com o banco de dados, para que possa fazer
inserção do e-mail e uma consulta para evitar que o mesmo e-mail tenha cadastro repetido, e na hora
da remoção sabe se o e-mail esta cadastrado.

include("config.php"); /* Página que vai fazer a conexão com obd */

Agora vamos armazenar as informações que estão sendo enviado pelo formulário nas variáveis, que
serão responsáveis por inserir as informações no banco de dados e enviar um e-mail de confirmação de
cadastro ou remoção da assinatura da newsletter.

Como o formulário está enviando os dados por meio da função POST, ou seja, as informações
inseridas no formulário estão anexadas junto ao nome do campo do formulário. Então vamos criar uma
variável para o e-mail ($emaill) e declarar que seu valor será igual (=) ao campo de nome e-mail do
formulário ($_POST["email"]), e o mesmo para o campo opção, ficando assim:

/* Recebendo as informações do formulario */


$email = $_POST["e-mail"];
$opcao = $_POST["opcao"];

Para evitar que qualquer pessoa possa cadastrar ou remover o e-mail sabendo apenas o endereço,
vamos criar um código secreto que será enviado junto com a mensagem, através desse código será
localizado o e-mail e somente a pessoa que recebeu pode fazer a confirmação. Então vamos pegar o
endereço de e-mail e codificar com a função md5 do PHP que utilizar o RSA DataSecurity e retorna
um número hexadecimal de 32 caracteres, para que cada e-mail tenha um código diferente e único.
Agora vamos criar a variável e declarar que seu valor será o e-mail codificado.

/* Criar umcodigo secreto para confirmação do e-mail */


$codigo = md5($email);
26
Antes de fazer a inserção 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 variável com o endereço de e-mail ($email) estiver
vazia (" "), então 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 página do formulário.

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 opção escolhida pelo usuário e executar o comando para atender a
solicitação.

Vamos criar mais um teste de falso ou verdadeiro, então se for verdadeiro (if) que a opção ($opção) e
igual (= )à assinar (assinar) então vamos executar um comando para cadastrar o e-mail e enviar uma
mensagem de confirmação, mais se essa opção não for verdadeira mais mesmo assim for verdade
(elseif) que a opção ($opcao) é igual (=) a remover (remover) então vamos executar o comando de
remoção e enviar uma mensagem de confimação. Mais se for falso (false) as duas opções anteriores e
porque não foi selecionada nenhuma opção, então mostre (echo) uma frase informando o erro ('Você
tem que selecionar Assinar ou Remover') e utilizar o comando para redirecionar (location.href) para a
página do formulário.

Não se esqueça que somente serão realizados esses comandos se a variável que contem o e-mail não
estiver vazia, então temos que declarar esses comandos dentro da opção 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 identificação da opção escolhida */
if($opcao == "assinar"){/* se opção for assinar então execute comando para adicionar*/
}
elseif($opcao == "remover"){ /* se opção for remover então execute comando para remover */
}
else{
/* se a opção não foi nenhuma das duas, então 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 identificação da opção escolhida */
}

Como já identificamos a opção informada pelo usuário, agora vamos começar com o caso de a opção
escolhida ter sido a de assinar.
26
Então dentro do caso de ter sido verdadeiro a opção assinar do teste de identificação da opção
escolhida, vamos criar uma variável ($sql) e seu valor será um comando para realizar uma conexão
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. Então 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 então mostre (echo) uma frase de erro (Este e-mail já está
cadastrado!) e caso seja falso (else) então execute o comando para inserir o e-mail e enviar a
mensagem.

if($opcao == "assinar"){/* se opção for assinar então 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 não esteja cadastrado então vamos executar o comando que fará a inserção 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 instrução de inserir dados (INSERT INTO) nas colunas (id,email,codigo,ativo) com as
informações das variáveis ('','$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
variável email e a coluna código será preenchida com o nosso código secreto, e o status terá o valor de
n, informando que ainda não esta ativo o e-mail, mais para garantir uma segurança maior vamos
codificar novamente o nosso código secreto, só que agora com a função sha1 que nos retornar um
número hexadecimal de 40 caracteres, garantindo assim uma maior segurança.

if($opcao == "assinar"){/* se opção for assinar então 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 não estiver cadatrado */


$codigo = sha1($codigo); /* código secreto */
mysql_query("INSERT INTO newsletter (id,email,codigo,ativo) VALUES
('','$email','$codigo','n')") or die(mysql_error()); /* inseri a informações 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 variável de nome código e seu valor será o código secreto (codigo=$codigo)
que vai ser responsável por localizar o e-mail e mudar seu status de n que significa não ativo, para s
26
que significa ativo, e mais uma variável (&) de nome opção que terá o valor da opção escolhida pelo
usuário, 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 também vamos mostrar (echo) uma frase na tela
informando que o cadastro foi realizado com sucesso e foi enviado uma mensagem de confirmação
para o e-mail cadastrado.

if($opcao == "assinar"){/* se opção for assinar então 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 ativação */


$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 alguém 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 confirmação 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 opção remover do teste de identificação da opção escolhida,
vamos criar uma variável ($sql) e seu valor será um comando para realizar uma conexão 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 não tem nenhum e-mail no
banco de dados (mysql_num_rows($sql)==0), então vai mostrar (echo) uma frase de erro (" E-mail não
cadastrado em nosso sistema!"), mais se for falso (else) essa verificação e o e-mail está realmente
cadastrado, então vamos mandar enviar uma mensagem ($msg) com o link contendo uma variável de
nome código com o seu valor sendo o código secreto (codigo=$codigo) e mais uma variável (&) de
nome opção com o seu valor sendo a opção 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 confirmação para saber se o e-
26
mail é dele mesmo. Mais antes como tinha codificado o código secreto com a função sha1 para o
cadastro, teremos que codificar para ser igual ao armazenado no banco de dados.

elseif($opcao == "remover"){ /* se opção for remover então execute comando para remover */
$sql =mysql_query("SELECT * FROM newsletter WHERE email = '$email'");
if(mysql_num_rows($sql)==0){
echo " E-mail não 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 alguém 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 confirmação foi enviado.');";
echo "location.href='index.html'</script>";
}
}/* fim do comando para remover */

Esta página está pronta é o código deve está assim:

<?php
include ("smtp.class.php");

/*Configuração 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 aautenticação SMTP*/

include("config.php"); /* Página que vai fazer a conexão com obd */

/* Recebendo as informações doformulario */


$email = $_POST["e-mail"];
$opcao = $_POST["opcao"];

/* Criar umcodigo secreto para confirmação 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 identificação da opção escolhida */
if($opcao == "assinar"){/* se opção for assinar então 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 alguém 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 confirmação agora foi enviado para o mesmo.";
}
}/* fim do comando para adicionar */
elseif($opcao == "remover"){ /* se opção for remover então execute comando para remover */
$sql =mysql_query("SELECT * FROM newsletter WHERE email = '$email'");
if(mysql_num_rows($sql)==0){
echo " E-mail não 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 alguém 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 confirmação foi enviado.');";
echo "location.href='index.html'</script>";
}
}/* fim do comando para remover */
else{
/* se a opção não foi nenhuma das duas, então 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 identificação da opção escolhida */
}
?>

Agora vamos abrir a página comfirmar.php que será reponsavel por fazer a confirmação do e-mail,
efetuar a remoção e e mudar o statutd do e-mail. Então vamos fazer a inclusão da página de conexão
com o banco de dado para isso:

Se você estiver no modo de visualização do projeto mude para o modo de visualização do código.

Na Barra inserir do dreamweaver clique na guia PHP e clique no botão Bloco de código

Vamos fazer a inclusão da página responsavel pela conexão com o banco de dados utilizando a função
include

include("config.php");

Vamos armazenar as informações que estão vindo através do link que esta na mensagem de
confirmação enviada. Como as informações estão anexadas no link junto com o nome da variável.
Então vamos criar a variável opção ($opcao) e declara que seu valor está no link ($_GET) junto com a
opção escolhida ($_GET["opcao"]) e o mesmo para o código secreto.

/* recebendo as informações do link */


$opcao = $_GET["opcao"];
$codigo = $_GET["codigo"];

Agora vamos aplicar um teste de verdadeiro ou falso para identificar qual foi a opção escolhida pelo
usuário. Se for verdadeiro (if) que a opção é igual a adiciona ($opcao == "adiciona") então execute o
comando para ativar o e-mail, mais se esse teste for falso mais mesmo assim for verdadeiro (elseif) que
a opção e remover ($opcao == "remove") então execute o comando de remoção do e-mail, mais se for
falso os dois teste anteriores e porque não foi selecionada nenhuma opção então mostre (echo) o
comando para redirecionar (location.href) de volta ao formulário.

/* inicio da identificação da opção escolhida */


if($opcao == "adiciona"){ /* se a opção for adicionar então execute comando para ativar o e-mail */
}
elseif($opcao == "remove"){/* se a opção for remover então 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>";
26
}
/* fim da identificação da opção escolhida */

Vamos começar com o caso de a opção escolhida ter sido a de adiciona. Lembrando que é através do
código secreto que vamos localizar o e-mail e saber se esta cadastrado.

Então dentro do caso de ter sido verdadeiro a opção adiciona vamos executar o comando que fará a
atualização do status do e-mail de n para s no banco de dados, para isso vamos criar uma variável
($sql) e seu valor será um comando para fazer uma conexão com o banco de dados (mysql_query) e
depois dar a instrução de selecionar todas colunas (SELECT *) da tabela (FROM) newsletter e filtrar
(WHERE) a coluna codigo com o valor igual (=) ao código, 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 código 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, então 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 código secreto (else) então mostre (echo) a frase de erro (E-mail não
encontrado no banco de dados) e mostre (echo) o comando de redirecionamento (location.href) para
voltar ao formulário.

/* 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 não encontrado no banco de dados.');";
echo "location.href='/index.php'</script>";
}
/* fim do comando para adiciona */

Se a opção não foi adiciona e foi remover então vamos criar uma variável ($sql) e seu valor será um
comando para fazer uma conexão com o banco de dados (mysql_query) e depois dar a instrução de
selecionar todas colunas (SELECT *) da tabela (FROM) newsletter e filtrar (WHERE) a coluna codigo
com o valor igual (=) ao código secreto, para pode localizar o e-mail e sabe se é verdadeiro. E se for
verdadeiro (if) que o código secreto foi localizado no banco de dados (mysql_num_rows($sql)==1)
então se conecte com o banco de dados (mysql_query) e delete (DELETE) na (FROM) tabela
newsletter o e-mail a qual o codigo informado pertença (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 código estiver errado então
mostre (echo) uma frase informando o erro (E-mail não encontrado no banco de dados) e mostre
(echo) o comando para redirecionar (location.href) para o formulário.

/* 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 não encontrado no banco de dados.');";
echo "location.href='/index.php'</script>";
}
/* fim do comando para remove */

Codigo final da página comfimar.php

<?php
include("config.php");
$opcao = $_GET["opcao"];
$codigo = $_GET["codigo"];
/* inicio da identificação da opção 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 não 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 não 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 identificação da opção escolhida */
?>

Consideraçôes finais

Finalizamos a primeira fase desse tutorial que foi o cadastro e remoção dos e-mails, nas próximas duas
partes vamos aprender como enviar a newsletter para os e-mails que estão 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 Fábio Ricotta sobre o desenvolvimento do conteúdo de uma
newsletter. Qualquer comentário que vocês deixarem será bem vindo. Deixem seus pedidos de tutorias
para as próximas colunas clicando aqui

Autor: Marcelo Souza Ramos - Colunista Dreamweaver do Portal MXSTUDIO

Qualquer dúvida envie um email para ramos.marcelosouza@gmail.com ou acesse o nosso fórum

Coluna Dreamweaver - Sistema de Newsletter -


Parte 3
Introdução

Nessa penúltima parte vamos criar o formulário para envio da newsletter, que vai ter uma lista com
todos os endereços de e-mails individuais e uma opção para enviar à todos simultaneamente. Para
enviar e-mail em HTML basta você editar o código em seu editor e colar no campo de mensagem

Pré-requisito

Conhecimentos básico em PHP e MYSQL


Leitura das partes anteriores

Conteúdo

Vamos criar as páginas que serão utilizada nesta parte e na próxima parte.

1. Pressione Ctrl + N
2. Selecione a guia Geral
3. Na opção Categoria selecione a opção Pagina Dinâmica
4. Na opção Pagina Dinâmica selecione a opção PHP
5. Clique em Criar
26

6. Na barra de inserir clique na guia PHP


7. Agora clique no botão Bloco de código

8. Salve com o nome de index.php, com base nesses mesmo processos crie a página
enviar_newsletter.php que será utilizada na proxima parte

Agora vamos abrir a página index.php e criar o formulário para envio da newsletter.

1. Na barra inserir clique na guia Formulários


2. Clique no botão Formulário

3. No Inspetor de propriedade coloque como ação enviar para a página enviar_newsletter.php,


e verifique se o método está como POST

4. Agora vamos criar a lista com a opção de envio para todos os e-mails simultaneamente, e
somente no final e que vamos acrescentar os endereços de e-mail individuais. Então clique no
botão Menu de lista, para adicionar uma lista.
26

5. No Inspetor de propriedade coloque como nome do Lista/Menu msg_para


6. Clique no botão Valores da Lista

7. Na caixa de configuração dos Valores da Lista clique no Identificador do Item e digite todos
e no Valor também digite todos
8. Clique em OK

9. Vamos adicionar um campo para preenchimento do assunto da mensagem, clique no botão


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 botão
Área de texto

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


26

13. Clique no botão adicionar botão

Pronto o formulário ja foi criado, mais ainda não está pronto. Se você estiver no modo de visualização
do projeto mude para o modo de visualização do código. e verifique se o código 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 opções seja mostrado todos os endereços de e-mail que estão
no banco de dados, para que você possa enviar a mensagem para destinarios específicos.

Então vamos criar uma conexão com banco de dados para buscar esses e-mail e depois através do
comando de repetição while mostrar todos os e-mails que estão cadastrado. Mais para organizar todos
essse endereços 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 conteúdo na lista de opções.

Então vamos incluir a página config.php que contém a configuração para conexão com o banco de
dados e criar uma variável responsável 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 repetição com o comando while que vai repetir todos os endereços de
e-mails, mais para isso devemos criar uma variável para armazenar esses endereços ($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 variável que vai mostrar o endereço de e-mail ($email) e
declarar que seu valor será igual (=) a um e-mail que está na variável ($lista["email"]) que armazena a
lista com todos os endereços, e conforme o comando while for repetindo os dados ele vai mostrar um
endereço de e-mail diferente em cada loop até que todos os e-mail sejam mostrado.
26
Dentro da tag select e após a tag </imput> vamos adicionar um Bloco de código para PHP. Na barra
inserir clique na guia PHP e clique no botão Bloco de código, e dentro do bloco e adicionar os
comandos.

<form name="form1" method="post" action="enviar_newsletter.php">


<select name="select" size="1">
<option value="todos">todos</option>

/* Adicionar todos os endereços 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 código para php vamos criar mais um tag imput com o valor do item sendo a
variável que contém o endereço de e-mail e seu valor também sendo a variável que armazenar o e-
mail.

<form name="form1" method="post" action="enviar_newsletter.php">


<select name="select" size="1">
<option value="todos">todos</option>
/* Adicionar todos os endereços 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>
26
E para finalizar vamos depois da tag imput que acabamos de criar fechar a área de repetição

<form name="form1" method="post" action="enviar_newsletter.php">


<select name="select" size="1">
<option value="todos">todos</option>
/* Adicionar todos os endereços 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 repetição */


<?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>

Considerações Finais

Na próxima parte que é a ultima vamos criar os comando que farão o envio da newsletter. Qualquer
comentário que vocês deixarem será bem vindo. Deixem seus pedidos de tutorias para as próximas
colunas clicando aqui

Autor: Marcelo Souza Ramos - Colunista Dreamweaver do Portal MXSTUDIO

Qualquer dúvida envie um email para ramos.marcelosouza@gmail.com ou acesse o nosso fórum

Coluna Dreamweaver - Sistema de Newsletter


- Parte Final
Introdução

Nessa ultima parte vamos criar os comandos que executarão o envio da newsletter

Pré-requisito

Conhecimentos básico em PHP e MYSQL


Leitura das partes anteriores

Conteúdo
26
Abrar a página enviar_newsletter.php

A página enviar_newsletter.php vai ser responsável 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 inclusão da classe smtp.class.php que vai realizar a conexão e autenticação SMTP para
que os e-mails possam ser enviados.

Se você estiver no modo de visualização do projeto mude para o modo de visualização do código.

Dentro do Bloco de código vamos fazer a inclusão da classe smtp.class.php através do comando
include

<?php
include ("smtp.class.php");
?>

Com a classe já incluída agora vamos configurar a conexão SMTP que necessita de um endereço de
servidor (host), usuário (user), senha (pass) e informar que será ativada a autenticação (debug) para
que possa enviar os e-mails corretamente. Para fazer a configuração basta apenas declarar o valor das
variáveis utilizada na classe com os seus dados.

<?php
include ("smtp.class.php");

/* Configuração 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 autenticação SMTP*/
?>

Vamos incluir também através do comando include, a página que vai realizar a conexão com o banco
de dados para que possa se consultados os endereços de e-mail cadastrado que vão se enviados.

include("config.php"); /* Página que vai fazer a conexão com obd */

Agora vamos receber as informações que estão sendo enviadas pelo formulário através método POST,
ou seja, as informações inseridas no formulário estão anexadas junto ao nome do campo do formulário.
Então vamos criar variáveis para armazenar essas informações, começando pela variável para
armazenar o destinario ($to) e declarar que seu valor será igual (=) ao campo de nome msg_para
($_POST["msg_para"]) do formulário e o mesmo para o assunto e mensagem.

/* recebendo as informações do formulário */


$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 variável que contém o destinario da
mensagem ($to), então se for verdadeiro (if) que o destinario e todos ($to == "todos") então execute
comando para enviar mensagem à todos os endereços de e-mails no banco de dados, mais se for falso
(else) e porque então o destinario será um único endereço 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 endereços de e-
mails, vamos criar uma variável ($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 estão ativos (WHERE ativo='s')
para que seja extraído os endereços de e-mail que vão ser enviados, também vamos criar uma variável
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
variável com o valor de zero para pode contar os e-mail que foram enviados corretamente ($enviados)
e outra para contar os e-mail que não 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 não foram enviado */

Para buscar todos os e-mails no banco de dados e enviar um de cada vez vamos dar inicio a região de
loop, utilizando o comando de repetição chamado while. O comando while será associado a uma
variável 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 função mysql_fetch_array que vai
pegar todos os endereços 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 região de loop vamos chamar e configurar a classe smtp igual fizemos no inicio e
vamos criar a variável que vai contér o destinario, ou seja, o endereço de e-mail de quem vai receber a
mensagem, como os e-mails está armazenado na variável lista ($lista), o valor da variável destinario
($to) se declarado como sendo um e-mail que esta na nossa lista ($lista["email"]), esse endereço de e-
mail será mudado automaticamente cada vez que for executado um loop, e depois vamos criar a
variável 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);
26
$smtp->user = "usuario"; /*usuario do servidor SMTP */
$smtp->pass = "senha"; /* senha dousuario do servidor SMTP*/
$smtp->debug =true; /* ativar a autenticação SMTP*/
$to = $lista["email"];
$from = "newsletter@embu.sp.gov.br";

Ainda dentro da região de loop vamos chamar a classe smtp e mandar enviar a mensagem, mais para
sabe se a mensagem foi enviada ou não vamos aplicar um teste de verdadeiro ou falso, então se for
verdadeiro (if) que a classe smtp enviou o e-mail ($smtp->Send($to, $from, $subject, $msg )) então
some mais um na varivável que esta contando as mensagem enviadas ($enviados = $enviados + 1) e
vamos criar mais uma variável que vai armazenar uma mensagem ($mensagem) informado que foi
enviado corretamente (Enviado Corretamente !), mais se esse teste for falso (else) então vamos somar
mais um na variável que está contando os e-mail não enviados ($falhados = $falhados +1) e criar uma
variável que vai armazenar uma mensagem ($mensagem) informado que não foi enviada a mensagem
(E-mail não enviado).

if($smtp->Send($to, $from, $subject, $msg )) {


$enviados = $enviados + 1;
$mensagem = "Enviado Corretamente!";
}
else{
$falhados = $falhados +1;
$mensagem = "E-mail não enviado";
}

Continuando ainda dentro da região de loop vamos criar um relatório parcial do envio de cada
mensagem para pode saber se o e-mail foi enviado ou não, então vamos identificar para quem foi
enviada a mensagem e através do teste de verdadeiro ou falso que criamos anteriormente vamos sabe a
situação do e-mail. Como ainda estamos dentro da região de repetição essa mensagem será mostrada a
cada e-mail enviado.

echo "Enviado para $to <br> Status: $mensagem<br>"

Agora vamos fechar a região de repetição e criar uma relatório geral informando o total de e-mails que
deveriam se enviados ($total), o total que foi enviado ($enviados) e o total que não foi enviado
($falhado), isso é possível graças as variáveis 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 não 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. Então como o e-mail ja está armazenado na variável ($to)
que criamos no inicio e a classe smtp também ja está configurada, vamos apenas criar a variável
($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
Entao se for verdadeiro (if) que a classe smtp enviou o e-mail ($smtp->Send($to, $from, $subject,
$msg )) então vamos criar uma variável que vai armazenar uma mensagem ($mensagem) informado
que foi enviado corretamente (Enviado Corretamente !), mais se esse teste for falso (else) então vamos
criar uma variável que vai armazenar uma mensagem ($mensagem) informado que não foi enviada a
mensagem (E-mail não enviado) e vamos criar um relatório do envio da mensagem para pode saber se
o e-mail foi enviado ou não, então vamos identificar para quem foi enviada a mensagem e através 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 não enviado";
}
echo "Enviado para $to <br> Status: $mensagem<br>"
}

Código Final:

<?php
include ("smtp.class.php");

/* Configuração 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 autenticação SMTP*/

include("config.php"); /* Página que vai fazer a conexão com obd */

/* recebendo as informações do formulário */


$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 não 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 autenticação 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 não 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 não enviados: $falhado <br>";
}
else{
$from = "newsletter@embu.sp.gov.br";
if($smtp->Send($to, $from, $subject, $msg)){
$mensagem = "Enviado Corretamente!";
}
else{
$mensagem = "E-mail não enviado";
}
echo "Enviado para $to <br> Status: $mensagem<br>";
}
?>

Considerações finais

Chegamos ao final da criação de uma newsletter e, eu recebi vários 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 disponível, Não esqueça de fazer a leitura
dos artigos escritos pelo Marcelo Ariatti e Fábio Ricotta sobre o desenvolvimento do conteúdo de uma
newsletter. Qualquer comentário que vocês deixarem será bem vindo. Deixem seus pedidos de tutorias
para as próximas colunas clicando aqui

Autor: Marcelo Souza Ramos - Colunista Dreamweaver do Portal MXSTUDIO

Qualquer dúvida envie um email para ramos.marcelosouza@gmail.com ou acesse o nosso fórum