121 líneas
3,5 KiB
PHP
121 líneas
3,5 KiB
PHP
|
<?php
|
||
|
//PInicialitzem els fitxers de PHPMailer
|
||
|
use PHPMailer\PHPMailer\PHPMailer;
|
||
|
use PHPMailer\PHPMailer\Exception;
|
||
|
|
||
|
require 'src/Exception.php';
|
||
|
require 'src/PHPMailer.php';
|
||
|
require 'src/SMTP.php';
|
||
|
|
||
|
//Incloem paràmetres de la newsletter
|
||
|
include("config.inc");
|
||
|
function trim_value($a) {
|
||
|
$a = trim($a);
|
||
|
return $a;
|
||
|
}
|
||
|
|
||
|
$per = "";
|
||
|
|
||
|
// Agafa el missatge i el poses en un string
|
||
|
$missatge = file_get_contents($html_missatge);
|
||
|
|
||
|
//Recupera ls adreces de correu, treu espais en blanc i crea sub-arrays de 20 adreces.
|
||
|
$correus = file($correus_fitxer);
|
||
|
$correusnets = array_map('trim',$correus);
|
||
|
$correus_trossejats = array_chunk($correusnets,20);
|
||
|
|
||
|
$correusenviats = 0;
|
||
|
$correusfallits = 0;
|
||
|
$numerodemail = 1;
|
||
|
|
||
|
//Determinem si el correu és de prova o no
|
||
|
$p = $_GET['p'];
|
||
|
if ($p==0) {
|
||
|
$correudeprova = false;
|
||
|
} else {
|
||
|
$correudeprova = true;
|
||
|
}
|
||
|
//Crea encapçalaments
|
||
|
|
||
|
//$headers .= 'Cc: Unitat de Promoció i Comunicació de la FUAB <promocio.fuab@uab.cat>' . "\r\n";
|
||
|
|
||
|
if ($correudeprova === true) {
|
||
|
$correu = new PHPMailer();
|
||
|
$correu->isSMTP();
|
||
|
$correu->Host = 'smtp.office365.com';
|
||
|
$correu->SMTPAuth = true;
|
||
|
$correu->Username = '1468733@uab.cat'; //paste one generated by Mailtrap
|
||
|
$correu->Password = 'ProCom2021!'; //paste one generated by Mailtrap
|
||
|
$correu->SMTPSecure = 'tls';
|
||
|
$correu->Port = 587;
|
||
|
//Fem els encapçalaments
|
||
|
$correu->setFrom('promocio.fuab@uab.cat', 'Unitat de Promoció i Comunicació de la FUAB');
|
||
|
$correu->addReplyTo('promocio.fuab@uab.cat', 'Unitat de Promoció i Comunicació de la FUAB');
|
||
|
$correu->addAddress('promocio.fuab@uab.cat', 'Unitat de Promoció i Comunicació de la FUAB');
|
||
|
//$correu->addCC('cc1@example.com', 'Elena');
|
||
|
$correu->addBCC('enric.pineda@uab.cat', 'Enric Pineda');
|
||
|
$correu->addBCC('victoria.salvador@uab.cat', 'Victòria Salvador');
|
||
|
$correu->addBCC('sara.centellas@uab.cat', 'Sara Centellas');
|
||
|
$correu->addBCC('esther.crespo@uab.cat', 'Esther Crespo');
|
||
|
|
||
|
//Posem un PROVA al començament del tema
|
||
|
$temaprova = "[PROVA] ".$tema;
|
||
|
$correu->Subject = $temaprova;
|
||
|
$correu->isHTML(true);
|
||
|
$correu->Body = $missatge;
|
||
|
$correu->CharSet = 'UTF-8';
|
||
|
|
||
|
//Enviem el correu
|
||
|
if($correu->send()){
|
||
|
echo 'Missatge de prova enviat';
|
||
|
}else{
|
||
|
echo "El missatge no s'ha enviat.";
|
||
|
echo 'Error: ' . $correu->ErrorInfo;
|
||
|
}
|
||
|
} else {
|
||
|
|
||
|
foreach ($correus_trossejats as $correusfinals){
|
||
|
|
||
|
$correu = new PHPMailer();
|
||
|
$correu->isSMTP();
|
||
|
$correu->Host = 'smtp.office365.com';
|
||
|
$correu->SMTPAuth = true;
|
||
|
$correu->Username = '1468733@uab.cat'; //paste one generated by Mailtrap
|
||
|
$correu->Password = 'ProCom2021!'; //paste one generated by Mailtrap
|
||
|
$correu->SMTPSecure = 'tls';
|
||
|
$correu->Port = 587;
|
||
|
//Fem els encapçalaments
|
||
|
$correu->setFrom('promocio.fuab@uab.cat', 'Unitat de Promoció i Comunicació de la FUAB');
|
||
|
$correu->addReplyTo('promocio.fuab@uab.cat', 'Unitat de Promoció i Comunicació de la FUAB');
|
||
|
$correu->addAddress('promocio.fuab@uab.cat', 'Unitat de Promoció i Comunicació de la FUAB');
|
||
|
|
||
|
//POsem els correus en bccomp
|
||
|
foreach ($correusfinals as $correu_usuari_final) {
|
||
|
$correu->addBCC($correu_usuari_final);
|
||
|
}
|
||
|
$correu->Subject = $tema;
|
||
|
$correu->isHTML(true);
|
||
|
$correu->Body = $missatge;
|
||
|
$correu->CharSet = 'UTF-8';
|
||
|
|
||
|
//Enviem el correu
|
||
|
if($correu->send()){
|
||
|
$correusenviats++;
|
||
|
}else{
|
||
|
$correusfallits++;
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
// Descomentar per bug check
|
||
|
//echo $headers;
|
||
|
//print_r($correus_trossejats);
|
||
|
if ($correudeprova !== true){
|
||
|
echo "Hem enviat un total de $correusenviats correus a un total de ".count($correusnets)." persones<br />";
|
||
|
echo "End Of Line!";
|
||
|
}
|
||
|
?>
|