Salve forum,
mi è stato passato questo script che dovrebbe inviare automaticamente le mail presenti in un file csv.
La mia domanda è. ma è sufficiente richiamarlo come url per lanciare automaticamente l'invio?
Grazie
mi è stato passato questo script che dovrebbe inviare automaticamente le mail presenti in un file csv.
La mia domanda è. ma è sufficiente richiamarlo come url per lanciare automaticamente l'invio?
PHP:
<?php
/*
SERVONO 3 FILE:
1) il testo della mail, va incollato nel codice
2) il csv degli indirizzi, separato da virgole, ha l'intestazione, la mail nella colonna 2 e l'etichetta nella colonna 4
3) l'immagine dell'allegato (alcune immagini a volte danno problemi, di solito jpg è il formato che funziona sempre)
*/
require_once ('PHPMailerAutoload.php');
$indirizzi = array();
$n = 0;
/*
*
* QUESTA PARTE LEGGE IL CSV, OVVIAMENTE VA CAMBIATO IL PATH IN BASE ALL'INVIO
*/
//FORMATO INDIRIZZI PER TEST
if (($handle = fopen("testnet.csv", "r")) !== FALSE) {
//chdir('icone prodotti/it');
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
if ($data[1] && stristr($data[1],'@')) $indirizzi[] = trim(strtolower($data[1]))."|".trim($data[3]);
$n++;
}
}
/*
*
* VAR DUMP DA COMMENTARE/SCOMMENTARE SERVE PER CONTROLLARE LA LISTA DEGLI INDIRIZZI
*
*
*/
//var_dump($indirizzi);
die();
//$indirizzi[] = "[email protected]|Netfranz";
$mail = new PHPMailer();
// Telling the class to use SMTP
$mail->IsSMTP();
// SMTP server
$mail->Host = "";
// The from email address should be accepted by the smtp server
$mail->SMTPAuth = true;
$mail->SMTPKeepAlive = true; // SMTP connection will not close after each email sent, reduces SMTP overhead
$mail->Port = 25;
$mail->Username = '';
$mail->Password = '';
$mail->FromName = "";
$mail->From = "";
$mail->CharSet = "UTF-8";
ob_start();
/*
*
*
*
*
* TESTO DEL MESSAGGIO: CAMBIA OGNI VOLTA. [TESTATA] è il segnaposto che viene sostituito col valore preso dal csv
*
*/
/*
?>
<?
*/
?>
Gentile redazione di [TESTATA],
<?
$msg_body = ob_get_clean();
$msg_body = htmlentities($msg_body);
$msg_body = nl2br($msg_body);
/*
*
* OGGETTO DELLA MAIL
*
*/
//$mail->Subject = "Propuesta de colaboración - infografía";
$mail->Subject = "";
$mail->IsHTML(true);
//$mail->AddEmbeddedImage("images/logo_think.jpg", "img");
//$mail->Body .= '<img alt="Think Comics" src="cid:img">';
$mail->WordWrap = 50;
/*
*
* ATTACHMENT: A VOLTE I PNG DANNO PROBLEMI, MEGLIO CONVERTIRE IN JPG
*
*
*
*/
$mail->AddAttachment('blog/bobmarley_IT/1_bob_marley.png');
//$mail->AddAttachment('blog/oscar_IT/1-GrandiEsclusi.png');
foreach ($indirizzi as $k => $v) { //This iterator syntax only works in PHP 5.4+
$boom = explode("|",$v);
$mail->addAddress($boom[0], $boom[0]);
//$mail->AddAddress("[email protected]");
$mail->Body = str_replace("[TESTATA]",$boom[1],$msg_body);
if (!$mail->send()) {
echo "Mailer Error (" . str_replace("@", "@", $boom[0]) . ') ' . $mail->ErrorInfo . '<br />';
} else {
echo "Message sent to: " . $boom[0] . '<br />';
flush();
ob_flush();
//Mark it as sent in the DB
}
// Clear all addresses and attachments for next loop
$mail->clearAddresses();
//$mail->clearAttachments();
//break;
}
if(!$mail->Send())
{
echo "Message was not sent";
echo "Mailer Error: " . $mail->ErrorInfo;
$showmess = -1;
}
else
{
//echo "Message has been sent";
$usermail = 1;
}
?>
Grazie