Newsgroup: it.comp.www.php
Titolo: Spedire un messaggio con allegato ad una lista di persone

Salve,
sto perdendo la testa con questa procedura che dovrebbe spedire un
messaggio ed un allegato ad una lista di persone inserite in una tabella
MySql. La procedura funzionava, ma non allegava il file, ora che riesce a
leggere il file da allegare, non riesce piu' a spedire i messaggi,
Qualcuno potrebbe controllarlo, per favore?
function send_mail($fromname, $fromaddress, $toname, $toaddress, $subject, $messaggio,$allegato)
{
echo "Da:".$fromaddress."<br>";
echo "A:",$toname."  ".$toaddress."<br>";
echo "Subject:".$subject."<br>";
echo "Messaggio:".$messaggio."<br>";
if ($_SERVER['SERVER_NAME'] ! ='
www.miosito.it
')
$path="d:/inetpub/webs/itp-newscom/public";
else
$path=$_SERVER["DOCUMENT_ROOT"]."/upload";//
if (! is_array($allegato))
$UrlAllegato=$allegato;
else
{
$UrlAllegato=$allegato['UrlAllegato'];
$file_type=$allegato['TipoAllegato'];
}
// Controlla se c'è l'allegato
if ($UrlAllegato!="")
{
$file=fopen($UrlAllegato,"rb");
$data=fread($file,filesize($UrlAllegato));
fclose($file);
$semi_rand=md5(time());
$mime_boundary="==Multipart_Boundary_x{$semi_rand}x";
$headers  = "\nMIME-Version: 1.0\r\n";
$headers .= "X-Priority: 3\r\n";
   $headers .= "X-MSMail-Priority: Normal\r\n";
   $headers .= 'From: "'.$fromname.'" < '.$fromaddress.' > '."\r\n";
   $headers .= 'Reply-to: "'.$fromname.'"'." < ".$fromaddress." > "."\r\n";
   $headers .= "X-Mailer: php ".phpversion()."\r\n";
$headers .= "Content-type: multipart/mixed;\r\n".
 " boundary=\"{$mime_boundary}\"";
 $message = "This is a multi-part message in MIME format.\n\n". 
             "--{$mime_boundary}\n" . 
             "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . 
             "Content-Transfer-Encoding: 7bit\n\n".
             $messaggio . "\n\n";
 $data = chunk_split(base64_encode($data));
// Aggiunta del file di Attachment al messaggio
$message .= "--{$mime_boundary}\n" .
              "Content-Type: {$file_type};\n".
              " name=\"{$UrlAllegato}\"\n" .
              "Content-Disposition: attachment;\n" .
              " filename=\"{$UrlAllegato}\"\n" .
              "Content-Transfer-Encoding: base64\n\n" . 
              $data . "\n\n" . 
              "--{$mime_boundary}--\n";
echo "Headers=".$headers.'<br>';
echo "Messaggio=".$message.'<br>';
}
else
{
  $headers  = "MIME-Version: 1.0\r\n";
   $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
   $headers .= "X-Priority: 3\r\n";
   $headers .= "X-MSMail-Priority: Normal\r\n";
   $headers .= 'From: "'.$fromname.'" < '.$fromaddress.' > '."\r\n";
   $headers .= 'Reply-to: "'.$fromname.'"'." < ".$fromaddress." > "."\r\n";
   $headers .= "X-Mailer: php ".phpversion()."\r\n";
}
 mail($toaddress, $subject, $message, $headers) or die('Impossibile inviare il messaggio');
}
Ho fatto visualizare a video il messaggio ed il file da allegare, e
funziona, ma non si riesce piu' a spedire il messaggio.
Francesco
-- 
There are two kinds of researchers:
those that have implemented something and those that have not.
The latter will tell you that there are 142 ways of doing things
and that there isn't consensus on which is best.
The former will simply tell you that 141 of them don't work.

 messaggi, Qualcuno potrebbe controllarlo, per favore?
Per quale motivo vuoi usare un codice ad-hoc quando esistono varie
classi gia' pronte e perfettamente funzionanti che fanno esattamente
quello che chiedi?
-- 
I am what I am, I do what I can
Do. Or do not. There is not try.

 chiedi?
Perchè non ne conoscevo l'esistenza. A parte questo, perchè mi piace
creare da solo i programmi, magari reinventando la ruota, aiutandomi con
delle letture di codice già scritto. Usare delle classi gia' fatte
significa usare un componente a scatola chiusa, pur non negandone
l'utilita' per grossi progetti. Poi, in passato, per adattare le classi ai
miei progetti ho dovuto modificare in qualche modo gli script.
Ad ogni modo, se posso chederti un favore, anzi due, mi suggeriresti dove
trovare una di queste classi e poi, sapresti dirmi perchè il mio script
non funziona?


 mi suggeriresti dove trovare una di queste classi 
http://www.phpguru.org/static/mime.mail.html
http://lwest.free.fr/doc/php/lib/index.php3?page=mail&lang=en
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
