Ir para conteúdo

POWERED BY:

Arquivado

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

caio norder

Newsletter (ou quase isso)

Recommended Posts

bom como ja tinha dito preciso enviar de 30 em 30 emails o script ja foi criado e funciona perfeitamente mas o problema É que eu preciso que ele divida o pacote e envie 30 emails por vez.

bom segue o codigo do script abaixo

 

<?php
set_time_limit(0);
if($_POST['Manda'])
{
	//EMAIL DO DESTINAT?RIO
	$FromName = $_POST['FromName'];
	$FromMail = $_POST['FromMail'];
	//ASSUNTO DO EMAIL
	$assunto = $_POST['assunto'];
	//MENSAGEM DO EMAIL
	$mensagem = $_POST['html'];
	$mensagem = stripslashes($mensagem);
	//CABE?ALHO DO EMAIL
	$headers  = "From: " . $FromName . " <" . $FromMail . ">\n";
	$headers .= "MIME-Version: 1.0\n";
	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
	$headers .= "Content-Transfer-encoding: 8bit\n";
	$headers .= "Reply-To: " . $FromName . " <" . $FromMail . ">\n";
	$headers .= "Return-Path: " . $FromMail . "\n";
	$headers .= "Message-ID: <".md5(uniqid(time()))."@$mailserver>\n";
	$headers .= "X-Priority: 1\n";
	$headers .= "X-MSmail-Priority: High\n";
	$headers .= "X-Mailer: Microsoft Office Outlook, Build 11.0.5510\n";
	$headers .= "X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441";

	//ARQUIVO COM OS EMAILS
	$arquivo = $_POST['lista'];

	//GERANDO UM ARRAY COM A LISTA

	$file = explode("\n", $arquivo);
	$i = 1;
}
?>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<p> </p>
<style type="text/css">

td {

	font-family:verdana;

	color:#000000;

	font-size:10px;

}
</style>
<?
if($_POST['Manda']) { ?>
<table width="59%" height="30" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#333333">
  <tr>
	<td bgcolor="#f5f5f5"> 
	  <?

			foreach ($file as $mail) {
			
				if(mail($mail, $assunto, $mensagem, $headers)) {
				
				  if($assunto > NULL){
					echo "<font color=green face=verdana size=1>* $i - ".$mail."</font> <font color=green face=verdana size=1>OK</font><br>";
	   				} else {
					echo "* $i  ".$mail[$i]." <font color=red>NO</font><br><hr>";
					$i++;
	   				}
					}
	   ?>
	</td>
  </tr>
</table>
<? } ?>
<form name="form1" method="post" action="">
  <table width="47%" height="202" border="0" align="center" cellpadding="0" cellspacing="2" bgcolor="#F4F4F4">
		 <tr> 
			<td colspan="2" align="center"><b>.: Newsletter :. </b></td>
		  </tr>
		  <tr> 
			<td width="34%" align="center"><b>Assunto:</b></td>
			<td width="66%"><input name="assunto" type="text" id="assunto3" size="50"></td>
		  </tr>
		  <tr> 
			<td align="center"><b>Nome do Remetente:</b></td>
			<td><input name="FromName" type="text" size="50"></td>
		  </tr>
		  <tr> 
			<td align="center"><b>Email do Remetente:</b></td>
			<td><input name="FromMail" type="text" size="50"></td>
		 </tr>
		  <tr> 
			<td><b>Mensagem:</b></td>
			<td><textarea name="html" cols="38" rows="10" id="textarea2"></textarea></td>
		  </tr>
		  <tr> 
			<td><b>E-MAILS:</b></td>
			<td><textarea name="lista" cols="38" rows="10" id="textarea3"></textarea></td>
		  </tr>
		  <tr> 
			<td align="center" colspan="2"><input name="Manda" type="submit" id="Manda" value="Enviar"></td>
		 </tr>
	 </table>
</form>

bom desde ja agradeço

Obrigado

 

Caio Norder

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade a função não é recomendada para envio de newsletter

 

se estivesse enviando pelo no máximo uns 50 emails tudo bem, poderia fazer dessa forma.

 

pesquise sobre

http://pear.php.net/package/Mail

http://pear.php.net/package/Mail_Queue

 

 

veja também

http://www.php.net/manual/en/function.imap-mail.php

http://pear.php.net/package/Mail_Mime

 

 

para a sua questão, se pretende continuar usando a função mail(), basta usar um contador no loop.

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.