ccc

Phpmailer

require('librerias/PHPMailer.php');
$mail = new phpmailer();
$mail->IsMail();
$mail->IsHTML(true);
$mail->From = 'no-reply@xxx.com';

$mail->AddAddress("prueba1@xxx.com");
$mail->AddAddress("prueba2@xxx.com");
$mail->FromName = 'xxx.com';
$mail->Subject = "Envío email desde xxx.com";
$mail->Body = $html;
$mail->WordWrap = 50;
if(!$mail->Send()) {
   echo "Error al enviar el correo: " . $mail->ErrorInfo;
} else {
   echo "Enviado correctamente";
}


Si queremos utilizarlo por el SMTP del servidor (en vez de por el mail normal de PHP que algunos servidores suelen tener capado):
$mail = new PHPMailer();

$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = "smtp.midominio.com";
$mail->Username = "noreply@midominio.com";
$mail->Password = "xxx";
$mail->Port = 587;

$mail->From = "noreply@midominio.com";
$mail->FromName = "Mi Dominio";

$mail->AddAddress("prueba@gmail.com");
$mail->AddBCC("copia1@correo.com","Nombre copia 1"); // copia oculta
$mail->IsHTML(true);
$mail->Subject = "Prueba";
$body = "Esto es una prueba";
$mail->Body = $body;
$exito = $mail->Send();


if($exito){
echo "El correo fue enviado correctamente.";
}
else{
echo "Se ha producido un error al enviar el email";
}

Si la codificación se nos viese mal, poner:
$mail->CharSet = 'UTF-8';

Cuando se pasa de la versión PHP 5.4 a la 5.6 (o superior) el isSMTP deja de funcionar porque intenta usar TLS. Se arregla poniendo:
$mail->AuthType   = 'LOGIN';
$mail->SMTPAutoTLS = false;

Para adjuntar un fichero:
$archivo = 'fotoVidPortada.pdf';
$nomFinal = "factura.pdf";
$mail->AddAttachment($archivo, $nomFinal);

Para generar el fichero con fpdf y luego adjuntarlo:
require("generarPruebaPDF.php");
$nomFinal = "factura.pdf";
$mail->AddStringAttachment($pdf_doc, $nomFinal);

generarPruebaPDF.php:
class PDF extends FPDF
{
    function Header() {
    }
}
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hola mundo');
$pdf_doc = $pdf->Output("", "S");

No hay comentarios:

Publicar un comentario