- Como Criar Um Site, Blog – WebMaster.pt - http://www.webmaster.pt -

Importar No MySQL Uma Lista De Emails Em TXT

Tweet [3]

Há algum tempo fiz uma mala direta e precisei enviar para vários clientes.

Infelizmente na época não tinha o conhecimento e maturidade necessária para trabalhar em listas de emails.

Na matéria de hoje, estarei apresentando uma forma prática e simples onde você poderá importar emails de listas em .txt e exportá-las para banco de dados em MySQL.

Em anexo disponibilizo os ficheiros usados nesta matéria, onde você poderá testar de forma simples e prática.

email marketing

Configurando A Base de Dados

Antes de tudo, é necessário configurar a base de dados.

Com o BD já criado, acesse o ficheiro “conexao.php” e configure o ficheiro alterando as informações de acesso à base de dados (conforme script a seguir).



<?

// SERVIDOR

$database = "SERVIDOR";
$dbname   = "BASEDEDADOS";
$usuario  = "USUARIO";
$dbsenha  = "SENHA";

$conexao=mysql_connect ($database, $usuario, $dbsenha);

if($conexao){
      if (mysql_select_db($dbname, $conexao)){
           print "";
      }else{
           print "Não foi possível selecionar o Banco de Dados";
           }
      }else{
           print "Erro ao conectar o MySQL";
           }
          
?>

Após a configuração, vamos agora criar a tabela que será usada!

Criando A Tabela Na Base De Dados

Você terá 2 possibilidades:

Para configurar a base de dados através do script, abra o ficheiro script-sql.txt (disponível em anexo) e cole seu conteúdo no Programa utilizado para gerenciamento da base de dados.

Em nossas matérias utilizamos como padrão o MySQLFront. Caso tu também esteja utilizando este programa, clique em SQL Editor e cole o conteúdo do script (conforme código e imagem abaixo).



----- INSTALANDO A TABELA -----

CREATE TABLE `emails` (
  `id` int(11) NOT NULL auto_increment,
  `email` varchar(255) default NULL,
  PRIMARY KEY  (`id`)
);

Após importar os dados, você já poderá fazer uso do sistema abaixo.

Criando o Formulário

A criação do formulário é super simples e você poderá customizá-lo da maneira que achar viável.

No ficheiro abaixo, há um pequeno formulário que envia o ficheiro a ser tratado na página upload.php (conforme script a seguir):



<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="Refresh" CONTENT="60">

<title>.:: WEBMASTER.PT :: Filtrando listas ::.</title>

<link rel="stylesheet" href="3col_rightNav.css" type="text/css">
</head><body>
<div id="masthead">
  <h1 align="center" id="siteName">WEBMASTER.PT Filtrando listas</h1>
</div>
<form action="upload.php" method="post" enctype="multipart/form-data" name="form1" enctype="multipart/form-data">
  <div align="center">
    Enviar Lista
      <input type="file" name="arquivo">
    <input name="Submit" type="submit" id="Submit" value="enviar">
  </div>
</form>
</body></html>

Veja a seguir como funciona o ficheiro upload.php.

Tratando O Ficheiro

Nesta matéria estamos usando o ficheiro upload.php.

Ele tem a finalidade apenas de pegar os emails de uma lista (que aparecem em ordem sequencial) e enviá-los para uma base de dados mysql.

Ele efetua limpeza, evitando que sua lista seja duplicada (veja o código a seguir):



<?php

include('conexao.php');

$arquivo = $_FILES['arquivo'];

function trocar_acentos ($arquivo){
    $arquivo = str_replace(' ','_',$arquivo);
        $arquivo = str_replace('á','a',$arquivo);
    $arquivo = str_replace('Á','a',$arquivo);
        $arquivo = str_replace('à','a',$arquivo);
    $arquivo = str_replace('À','a',$arquivo);
        $arquivo = str_replace('é','e',$arquivo);
    $arquivo = str_replace('É','e',$arquivo);
        $arquivo = str_replace('í','i',$arquivo);
    $arquivo = str_replace('Í','i',$arquivo);
        $arquivo = str_replace('ó','o',$arquivo);
    $arquivo = str_replace('Ó','o',$arquivo);
        $arquivo = str_replace('ú','u',$arquivo);
    $arquivo = str_replace('Ú','u',$arquivo);
        $arquivo = str_replace('(','',$arquivo);
        $arquivo = str_replace(';','',$arquivo);
        $arquivo = str_replace('0;não enviado;','',$arquivo);
    $arquivo = str_replace(')','',$arquivo);
        $arquivo = str_replace('ç','c',$arquivo);
    $arquivo = str_replace('Ç','c',$arquivo);
    $arquivo = str_replace('.JPG','.jpg',$arquivo);
        $arquivo = strtolower($arquivo);
    return $arquivo;
}

    $arquivo = trocar_acentos ($_FILES['arquivo']['name']);
        $arquivo_extensao = substr($arquivo,strpos($arquivo,'.')+1,strlen($arquivo)-strpos($arquivo,'.'));
        $imagem_destaque_tamanho = $_FILES['arquivo']['size'];
        $imagem_destaque_descricao = $_FILES['arquivo'];
        $imagem_destaque_data = date('d/m/Y');
        $uploaddir = "";

    $data = mktime();

        if ($arquivo != ""){
    if (file_exists($uploaddir.$arquivo)){ $arquivo = mktime()."_".$arquivo; }

        move_uploaded_file($_FILES['arquivo']['tmp_name'], $uploaddir . $arquivo);

    }else{
        $arquivo = "";
        }

$arquivo = $arquivo;

$arq = fopen($arquivo,'r');

while(!feof($arq)){
$email = fgets($arq); // cria um array com o conteudo do arquivo

$email = trim($email);

$query_select_email  = "SELECT * FROM emails where email = '$email'";
$rs_select_email     = mysql_query($query_select_email);

$contador_rows = mysql_num_rows($rs_select_email);

if($contador_rows >= 1){

}else{
$sql_insert = "INSERT INTO emails (email) VALUES('$email')";
$rs_insert = mysql_query($sql_insert);

}
}

if($rs_insert){
?>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> alert ("Lista exportada com sucesso")</SCRIPT>
<SCRIPT language="JavaScript">window.location.href="index.php";</SCRIPT>

<?
}

?>

OBS.: Caso queira, você poderá melhorar e muito esta lista, inserindo novos recursos, facilitando ainda mais seu trabalho.

Tweet [3]
Be Sociable, Share!
  • [4]
  • [5]
  • [6]
  • [7]
  • [8]