Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nuno Guerra

[RESOLVIDO] Criar script para inscrever emails numa newsletter

Recommended Posts

Olá,Tenho uma base de dados de mais de 2000 emails, e estou querendo começar a enviar newsletters para esses emails, mas queria saber se existe alguma forma de fazer um script em php que inscreva todos esses emails num script de newsletter que fiz.Tenho os emails em notepad.Alguem tem alguma ideia como possa fazer isto?CumprimentosNuno

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nuno, bem-vindo ao fórum http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

A inserção de registros num banco de dados a partir de um arquivo de texto varia muito conforme a estrutura deste seu texto. Supondo que cada e-mail esteja numa linha, faça a leitura do arquivo de texto, colocando num loop e inserindo no banco. Dê uma estudada em funções pra manipulação de arquivos - fopen().

 

Vai postando o que consegue fazer, pro pessoal poder ajudar ;)

 

[]s

Anderson Mello

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Anderson Mello pelas boas vidas!Quanto à função fopen já fiz algumas coisas com ela, mas eu não estou conseguindo, fazer o loop de inserção.Voce pode me dar umas luzes?[]sNuno

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz assim que é mais fácil.

 

<?php$email = "a@a.comb@b.comc@c.comd@d.come@e.comf@f.comfabio@fabio.comsei.lah@qualquercoisa.com";while (strpos($email, "\r\n") !== false) //procura se tem quebra de linha{	$final = strpos($email, "\r\n");//procura a primeira quebra de linha	$email_separada = substr($email, 0, $final);  // copia a primeira palavra	echo "$email_separada <br><br>"; 	// AQUI eu usei o echo, mas trate aqui o que quer fazer com cada email, enviar	// dados ou gravar no banco de dados para facilitar a sua vida mais tarde. sei la!			$tirar = "$email_separada\r\n";	$email = str_replace($tirar, '', $email); //tira a palavra da variavel}echo $email; // copie aqui o comando que você usou acima, pois a ultima não tem quebra de linha e não executa se não tiver nada?>

Qualquer coisa posta ae!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para fazer como o colega citou acima, o conteúdo do teu arquivo de texto deve estar numa string. Pra isso, utilize a função file_get_contents() ou a file(). ;)

 

E, de qualquer forma, como sua dúvida era de inserir os dados em um banco de dados, pode fazer algo como:

 

$emails = file("arquivo.txt");foreach ($emails as $valor) {	if (!empty($valor)) {		mysql_query("INSERT INTO tabela VALUES '', $valor");	}}

No exemplo, apenas assumi que a tabela possui um campo id (autonumerado) e o campo do e-mail, e que você já abriu a conexão com o banco.

Faz um teste aí ;)

 

[]s

Anderson Mello

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pessoal,

 

Fiz da seguinte maneira:

 

<?phpinclude"newsletter/config.php";$lines = file ('C:\\wamp\\www\\testes\\emails.txt');foreach ($lines as $line) {	$email = $line;	$codigo = $email;	if (!empty($line)) {	mysql_query("INSERT INTO n_emails(id,email,codigo,ativo) VALUES ('','$email','$codigo','s')") or die(mysql_error());	}}?>

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.