Ciao, questo un semplice script che permette di inviare una mail con un allegato.
Questo script è basilare e ha un cron di invio impostato a 50 secondi per evitare di finire in black-list.(basterebbe impostarlo da 19sec in su. Circa 2/3 mail al minuto.).
PHPmailer è una classe per la gestione dell'invio mail.
Se hai ben presente il funzionamento di una classe e di php non dovresti avere molti problemi.
<! DOCTYPE HTML >
<html lang="en">
<head>
<title> Parsing CSV </title>
<style>
body{
font-family:sans-serif;
color:#424242;
}
</style>
<?
include_once("ConnessioneArchivio.php");
$Connessione = new ConnessioneDB("EmporioGomma", "root", "root", "localhost");
$Connessione->Connessione();
include_once("PHPmailer/_lib/class.phpmailer.php");
?>
</head>
<body>
<div style='border:1px solid #424242; padding-left:2%; border-radius:2px;'>
<h3> Invio </h3>
</div>
<br> <br>
<?
$TimeSleep=50;
$StopSleep=1;
set_time_limit(0);
?>
<?#CREAZIONE CORPO EMAIL
$Oggetto="Variazione sede operativa.";
$Q="SELECT * FROM anagen";
$E=mysql_query($Q);
$RecordClienti=mysql_num_rows($E);
$Contatore = 0;
if ($E and $RecordClienti > 0){
while($G = mysql_fetch_array($E)){
$Id = $G['id_anagen'];
$Email = $G['email'];
$Messaggio = new PHPmailer();
$Messaggio->Host='*********';
$Messaggio->isHtml(true);
$Messaggio->Priority='3';
$Messaggio->FromName='***************';
$Messaggio->From='****************';
$Messaggio->AddAddress("$Email");
$Messaggio->AddReplyTo('**********');
$Messaggio->Subject=$Oggetto;
$Messaggio->AddAttachment("Circolare/comunicazione.pdf");
$Messaggio->Body=stripslashes("
<! DOCTYPE HTML >
<html>
<head>
<style>
body{
font-family:sans-serif;
}
</style>
</head>
<body>
<p> In allegato inviamo nostro nuovo indirizzo sede operativa. <br> Cogliamo l'occasione per porgerVi i nostri piu' cordiali saluti. </p>
<p> ************** </p>
<body>
</html>
");
if(!$Messaggio->Send()){
echo "Errore sull'invio.." . $Messaggio->ErrorInfo;
exit;
}else{
$Contatore = $Contatore + 1;
$Aggiorno="UPDATE anagen SET inviato='1' WHERE id_anagen = '$Id'";
$Eseguo=mysql_query($Aggiorno);
if (!$Eseguo){echo mysql_error(); exit;}
}
if ($StopSleep <> $RecordClienti){
sleep($TimeSleep);
}
$StopSleep = $StopSleep + 1;
}
}
$Messaggio->SmtpClose();
unset($Messaggio);
echo "Ritardo invio: $TimeSleep sec. <br> Totale e-mail: $RecordClienti. <br> <b> Ho inviato correttamente $Contatore email su $RecordClienti.. </b>";
?>
</body>
</html>

Rispondi quotando