La Web del Programador: Comunidad de Programadores
 
    Pregunta:  61422 - ENVIAR FACTURAS POR CORREO
Autor:  Fernando Villar Molina
Tengo una aplicación que me crea facturas en pfp y las quiero enviar por correo; cada una a la empresa que le correponda.Loenvío y manda la misma factura a todas las direcciones.No se como hacerlo.
Me podéis ayudar? Gracias
Falta el script de creacion del pfp que se envía como fichero adjunto, como veréis
Este es el script de envío:
$mail=new PHPMailer();

$mail->Helo = "www.dominio.com"; //Muy importante para que llegue a hotmail y otros
$mail->SMTPAuth=true;
$mail->Host="mail.dominio.com";

$mail->Username="[email protected]";
$mail->Password="pssword"
$mail->From="[email protected]";
$mail->FromName="fVSL";
$mail->Timeout=60;
$mail->IsHTML(true);

$mail->AddAddress($row["email2"],$row["nombre"]);
//Enviamos el correo
//Puede ser Hotmail
$mail->AddCC("
");
$mail->Subject='tu asunto';


//Creamos el documento como String para poder enviarlo como archivo adjunto
$doc=$pdf->Output('factura /' .$row['id_factura'].'/','S');
$mail->AddStringAttachment($doc, 'factura /' .$row['id_factura'].'/', 'base64', 'application/pdf');
if($mail->Send())
{
echo "Mail enviado exitosamente";
}else{
echo "Correo $to no enviado<br>";
}

$mail->ClearAllRecipients();
$mail->ClearAttachments();

}

?>

  Respuesta:  Pedro Perez
Buenaos dias:

Para enviar correctamente los correos electrónicos yo tendría en la base de datos una tabla o varias, dependiendo delo que quieras hacer, que contenga la información de la empresa (nombre, email, facturas, etc). Teniendo esta tabla solo tendrias que hacer una consulta a base de datos para extraer todas las direcciones de correo electrónico de las empresas. Despues con un simple bucle foreach, enviaría un email con las facturas que correspondan a cada empresa una a una.

Por ejemplo:

foreach($empresas as $empresa){
mail($empresa["email"], "Factura", $empresa["factura"]);
}

De esta forma enviarías la factura a la empresa que le corresponda, porque lo tendrías almacenado como parte de la información de la empresa.

Por otra parte, en lugar de enviar un adjunto, que no todos los lectores de correo los aceptan, envia en el texto del email, una plantilla html con los datos de la factura y un enlacea la web, al que solo tenga acceso la empresa, por si quieren guardar una copia del pdf de la factura. de esta forma tambén tendrás la posibilidad de guardar un histórico de facturas de cada empresa para tener constancia de pagos y demás.

Aquí te dejo un enlace para que veas como generar un PDF y como quedaría con un sencillo ejemplo. http://www.imaginanet.com/blog/creando-documentos-pdfs-dinamicos-con-php.html