Hola
He logrado enviar adjuntos a direcciones que están en una DB MySQL
He logrado que sean BCC
No pude lograr:
Que en el while de envio no repita direcciones
cerrar la DB al terminar donde lo ponga siempre da error
Gracias si alguien me puede ayudar en lo que no logro
Código PHP:
Ver original<?php
/*
este formulario utiliza la clase PHPMailer para el envio y proceso.
Es solo un ejemplo de una posible implementacion de PHPMailer
La clase se puede descargar desde http://phpmailer.sourceforge.net/
Junto con mas ejemplos y documentacion.
*/
/*
NOTA:
este archivo debe estar acompañado de una carpeta
con el nombre "archivos" en donde se copiaran los
archivos. Esta carpeta debe tener chmod 777.
*/
//CONFIGURACION
$direccion_envio='@gmail.com'; //la direccion a la que se enviara el email.
$url='http://www..com.ar/cias/archivos'; //la URL donde esta publicado el formulario. SIN la barra al final
//FIN CONFIGURACION
?>
<?php
//proceso del formulario
// si existe enviar...
if (isset ($_POST['enviar'])) {
//vamos a hacer uso de la clase phpmailer,
require("class.phpmailer.php");
$mail = new PHPMailer();
//recogemos las variables y configuramos PHPMailer
$mail->From = $_POST['email'];
$mail->FromName = $_POST['nombre'];
$mail->AddAddress($direccion_envio);
$mail->Subject = "asunto";
$mail->AddReplyTo($_POST['email'],$_POST['nombre']);
$mail->IsHTML(true);
$comentario=$_POST['comentario'];
//comprobamos si se adjunto un archivo, y si su tamano es menor al permitido
if (isset($_FILES['archivo']['tmp_name']) && ($_FILES['archivo']['tmp_name']!="") ) { $nuevonombre=$aleatorio.'-'.$_FILES['archivo']['name'];
// copiamos el archivo en el servidor
copy($_FILES['archivo']['tmp_name'],'archivos/'.$nuevonombre); $conarchivo = "Su archivo ha sido adjuntado con éxito<br />";
}
//armamos el html
$contenido = '<html><body>';
$contenido .= '<h2>' .$_POST['titulo'] .'</h2>';
$contenido .= '<p>Enviado el '.date("d M Y").'</p>'; $contenido .= '<hr />';
//$contenido .= '<p>Nombre: <strong>'.$_POST['nombre'].'</strong>';
//$contenido .= '<p>Email: <strong>'.$_POST['email'].'</strong>';
if (isset($_FILES['archivo']['tmp_name'])) { $contenido .= '<p>Archivo: <strong><a href="'.$url.'/archivos/'.$nuevonombre.'">'.$nuevonombre.'</a> (formato:'.$ext.' - '.$tamano.' bytes)</strong>';
}
$contenido .= '<p>Mensaje: <strong>'.$comentario.'</strong>';
$contenido .= '<hr />';
$contenido .= '</body></html>';
$mail->Body = $contenido;
$mail->AddAttachment('archivos/'.$nuevonombre.'', $nuevonombre); // optional name
// enviamos el mail
$conectar=mysql_connect('localhost','correo','********') or
die('No se puedo conectar con la base de datos!');
$basededatos = "select email from cf ";
//coloca en resultados cada contenido de la línea de la columna email de la tabla cf
$email = $filas['email'];
// acá se supone que envia un mail con CO hasta que se acaba, pero me envía repetidos (hasta 3 mails a la misma dirección)
$mail->AddBcc($email);
$mail->Send();
}
$flag='ok';
$mensaje='<div id="ok">'.$conarchivo.'Mensaje Enviado con EXITO'.'</div>' ;
}
?>
<!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=utf-8" />
<title>CIAS - Formulario de Envios</title>
<style>
body {
font: 1em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;
font-size: 76%;}
#form {
border: 3px double #eaeaea;
background-color: #AAF;
padding: 1em;
width: 30em;
margin: auto;}
#form h2{
font-size: 2em;
margin: 0 0 0.5em 0;
padding: 0;}
#form .campo {
border: 1px solid #999;
padding: 0.1em;
font-size: 14px;}
#form .error {
border: 1px solid #F00;
padding: 0.3em;
font-size: 1.5em;}
#form .com {
border: 1px solid #999;
padding: 0.3em;
font-size: 1.5em;
width:18em;
height: 10em;
font: 1.5em Arial, Helvetica, verdana, sans-serif;}
#form .com-error {
border: 1px solid #F00;
padding: 0.3em;
font-size: 1.2em;
width:18em;
height: 10em;
font: 1.5em Lucida Grande, 'Trebuchet MS', verdana, sans-serif;}
#form .boton {
border: 2px solid #999;
padding: 0.3em;
font-size: 1.2em;
width: 4em;}
#error {
border: 1px dashed #F00;
background-color: #FFF;
padding: 5px;}
#ok {
border: 1px dashed #060;
background-color:#FFF;
padding: 5px;}
</style>
</head>
<body>
<div id="form">
<h2>Formulario de Envios</h2>
<?php echo $mensaje; /*mostramos el estado de envio del form */ ?>
<?php if ($flag!='ok') { ?>
<form action="<?php echo $PHP_SELF;?>" method="post" enctype="multipart/form-data">
<p>Título <br />
<input name="titulo" type="text" class="campo" size="50" /></p>
<p>Email <br />
<input name="email" type="text" class="campo" value="
[email protected]" readonly="readonly" /></p>
<p>Subir Archivo<br />(Formatos permitidos: .todos) <br />
<input type="file" name="archivo" class="campo" /></p>
<p>Comentario <br />
<textarea name="comentario" class="com"></textarea></p>
<input name="nombre" type="hidden" value="Popurri" />
<p><input class="boton" type="submit" name="enviar" value="enviar" /></p>
</form>
<?php } ?>
</div> <!-- end form-->
</body>
</html>