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.Codice PHP:
<?php/*SERVONO 3 FILE:1) il testo della mail, va incollato nel codice2) il csv degli indirizzi, separato da virgole, ha l'intestazione, la mail nella colonna 2 e l'etichetta nella colonna 43) 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[] = "netfranz75@gmail.com|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("netfranz75@gmail.com");
$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;}
?>