informilo-kea/enviador.php

122 líneas
3.4 KiB
PHP
Executable File

<?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-es.securemail.pro';
$correu->SMTPAuth = true;
$correu->Username = 'comunicacio@esperanto.cat'; //paste one generated by Mailtrap
$correu->Password = 'KomunikuKEA21jc!'; //paste one generated by Mailtrap
$correu->SMTPSecure = 'ssl';
$correu->Port = 465;
//Fem els encapçalaments
$correu->setFrom('comunicacio@esperanto.cat', 'Associació Catalana d\'Esperanto');
$correu->addReplyTo('comunicacio@esperanto.cat', 'Associació Catalana d\'Esperanto');
$correu->addAddress('comunicacio@esperanto.cat', 'Associació Catalana d\'Esperanto');
//$correu->addCC('cc1@example.com', 'Elena');
$correu->addBCC('enricpineda@gmail.com', 'Enric Pineda');
$correu->addBCC('oscar@esperanto.cat', 'Òscar Puig');
$correu->addBCC('farri@mac.com', 'Ferriol Macip');
//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-es.securemail.pro';
$correu->SMTPAuth = true;
$correu->Username = 'comunicacio@esperanto.cat'; //paste one generated by Mailtrap
$correu->Password = 'KomunikuKEA21jc!'; //paste one generated by Mailtrap
$correu->SMTPSecure = 'ssl';
$correu->Port = 465;
//Fem els encapçalaments
$correu->setFrom('comunicacio@esperanto.cat', 'Associació Catalana d\'Esperanto');
$correu->addReplyTo('comunicacio@esperanto.cat', 'Associació Catalana d\'Esperanto');
$correu->addAddress('comunicacio@esperanto.cat', 'Associació Catalana d\'Esperanto');
//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!";
}
?>