Newsgroup: it.comp.www.php
Titolo: INVIARE EMAIl - puo' essere utile a qualcuno

ho scritto questa funzione, spero che posa essere utile a qualcuno
accetta solo testo txt nell'invio, e' una semplice funzione, ma fa il suo
dovere
potrebbero essere aggiunti controlli sulla email (senza mettere il die)
se qualcuno la vuole implementare...
function send_email($to, $oggetto, $messaggio, $from="", $fromname="",
$attachment="")
 {
 global $web_email;
 if ($from=="") $from=$web_email;
 if ($fromname=="")
  $headers = "From: $from\n";
 else
  $headers = "From: \"$fromname\"<$from>\n";
 $headers .= "Reply-To: $from\n";
 $headers .= "X-Sender: <$from>\n";
 $headers .= "X-Mailer: PHP/".phpversion()."\n"; //mailer
 $headers .= "X-Priority: 3\n"; //1 UrgentMessage, 3 Normal
 $headers .= "Errors-To: $from\n"; //inviare gli errori a $from
 if ($attachment!="")
  {
     $content = fread(fopen($attachment,"r"),filesize($attachment));
     $content = chunk_split(base64_encode($content));
     $uid = strtoupper(md5(uniqid(time())));
     $name = basename($attachment);
  $messaggio .="\n\nfile allegato: $attachment - $name\n\n";
     $headers .= "MIME-Version: 1.0\n";
     $headers .= "Content-Type: multipart/mixed; boundary=$uid\n";
     $headers .= "--$uid\n";
     $headers .= "Content-Type: text/plain\n";
     $headers .= "Content-Transfer-Encoding: 8bit\n\n";
     $headers .= "$messaggio\n";
     $headers .= "--$uid\n";
     $headers .= "Content-Type: application/octet-stream; name=\"$name\"\n";
     $headers .= "Content-Transfer-Encoding: base64\n";
     $headers .= "Content-Disposition: attachment; filename=\"$name\"\n\n";
     $headers .= "$content\n";
     $headers .= "--$uid--";
  $messaggio="";
  }
 mail($to, $oggetto, $messaggio, $headers, "-f $from") or die ("ERROR
SEND_EMAIL");
 }
Fabrizio Parrella
http://www.bibivu.it
TWiN
--
dnfnva
Debra & Fabrizio
in Virginia

 dovere
Non l'ho ancora provata, ma mi pare ben fatta! Complimenti davvero e
soprattutto grazie per la gentilezza!!!
Andrea

Provate questo
http://phpmailer.sourceforge.net/
--
Reply to: brain79(at)
inwind.it
http://www.brainetwork.net
http://universibo.ing.unibo.it
ICQ# 42797710 - FeSToso n°143


grazie alla tua segnalazione ho modificato un pochetto la mia funzione..
aggiungendo alcune funzionalita'..
eccola riproposta, spero serva a chi non vuole utilizzare classi e deve
semplicemente mandare una email con un allegato
function send_email($to, $oggetto, $messaggio, $from="", $fromname="",
$attachment="", $messaggiohtml="" , $cc="", $bcc="", $confermaLettura=false)
 {
 global $web_email;
 if ($from=="") $from=$web_email;
 if ($messaggiohtml=="")
  {
  $contenttype="text/plan";
  $messaggiohtml="$messaggio";
  }
 else
  $contenttype="text/html";
 if ($fromname=="")
  $headers = "From: $from\n";
 else
  $headers = "From: \"$fromname\"<$from>\n";
 $headers .= "Reply-To: $from\n";
 if ($to!="")  $headers .= "To: $to\n";
 if ($cc!="") $headers .= "Cc: $cc\n";
 if ($bcc!="") $headers .= "Bcc: $bcc\n";
 $headers .= "X-Sender: <$from>\n";
 $headers .= "X-Mailer: PHP/".phpversion()."\n"; //mailer
 $headers .= "X-Priority: 3\n"; //1 UrgentMessage, 3 Normal
 $headers .= "Errors-To: $from\n"; //inviare gli errori a $from
 $headers .= "Return-Path: $from\n";
 if ($confermaLettura)
  $header .= "Disposition-Notification-To: $from\n"; //ricevere conferma di
lettura messaggio
 if ($attachment!="")
  {
     $content = fread(fopen($attachment,"r"),filesize($attachment));
     $content = chunk_split(base64_encode($content));
     $uid = strtoupper(md5(uniqid(time())));
     $name = basename($attachment);
  $messaggio .="\n\nfile allegato: $attachment - $name\n\n";
     $headers .= "MIME-Version: 1.0\n";
     $headers .= "Content-Type: multipart/mixed; boundary=\"$uid.txt\"\n";
     $headers .= "--$uid.txt\n";
     $headers .= "Content-Type: multipart/alternative\n";
     $headers .= "boundary=\"$uid\"\n";
     $headers .= "$messaggio\n";
     $headers .= "--$uid\n";
     $headers .= "Content-Type: $contenttype\n";
     $headers .= "Content-Transfer-Encoding: 8bit\n\n";
     $headers .= "$messaggiohtml\n";
     $headers .= "--$uid\n";
     $headers .= "Content-Type: application/octet-stream; name=\"$name\"\n";
     $headers .= "Content-Transfer-Encoding: base64\n";
     $headers .= "Content-Disposition: attachment; filename=\"$name\"\n\n";
     $headers .= "$content\n";
     $headers .= "--$uid--";
  $messaggio="";
  }
 $res = @mail($to, $oggetto, $messaggio, $headers, "-f $from");// or die
("ERROR SEND_EMAIL");
 if(!$res) return false;
 return true;
 }

"Brain" <bra...@REMOVEinwind.it> ha scritto nel messaggio
news:NlnT9.10497$AA2.4...@news2.tin.it...

Wow...

 ha scritto nel messaggio
news:eWkT9.1872$Qr4.1...@newsread1.prod.itd.earthlink.net...
[cut]
Ottimo!
Grazie molte
Luka
--
Togli !luka! dopo la chiocciola per la reply.
---------------------------------------------
You can find me at...
MSN 
hav...@hotmail.com
ICQ #69162599
---------------------------------------------

 --
ho fatto un piccolo aggiornamento, spero che continui ad essere utile, anche
se so che la classe proposta sopra e' migliore, ma forse non tutti vogliono
dichiarare una classe, ed una semplice funzione e' sufficente
function send_email($to, $oggetto, $messaggio, $from="", $fromname="",
$attachment="", $messaggiohtml="" , $cc="", $bcc="", $confermaLettura=false)
 {
 global $web_email;
 if ($from=="") $from=$web_email;
 if ($messaggiohtml=="")
  {
  $contenttype="text/plan";
  $messaggiohtml="$messaggio";
  }
 else
  $contenttype="text/html";
 $headers = "Return-Path: $from\n";
 if ($fromname=="")
  $headers .= "From: $from\n";
 else
  $headers .= "From: \"$fromname\"<$from>\n";
 if ($to!="") $headers .= "To: $to\n";
 if ($cc!="") $headers .= "Cc: $cc\n";
 if ($bcc!="") $headers .= "Bcc: $bcc\n";
 $headers .= "Reply-To: $from\n";
 if ($confermaLettura)
  $header .= "Disposition-Notification-To: $from\n"; //ricevere conferma di
lettura messaggio
    $uid = strtoupper(md5(uniqid(time())));
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/mixed;\n
boundary=\"NextPart$uid\"\n";
 $headers .= "Errors-To: $from\n"; //inviare gli errori a $from
 $headers .= "X-Priority: 3\n"; //1 UrgentMessage, 3 Normal
 $headers .= "X-Mailer: PHP/".phpversion()."\n"; //mailer
 $headers .= "X-Sender: <$from>\n";
 $headers .= "This is a multi-part message in MIME format.\n\n";
    $headers .= "--NextPart$uid\n";
    $headers .= "Content-Type: multipart/alternative;\n
boundary=\"$uid\"\n";
    $headers .= "$messaggio\n\n";
    $headers .= "--$uid\n";
    $headers .= "Content-Type: $contenttype\n";
    $headers .= "charset=\"iso-8859-1\"\n";
    $headers .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $headers .= "$messaggiohtml\n\n";
    $headers .= "--$uid--\n\n";
 if ($attachment!="")
  {
     $content = fread(fopen($attachment,"r"),filesize($attachment));
     $content = chunk_split(base64_encode($content));
     $name = basename($attachment);
     $headers .= "--NextPart$uid\n";
     $headers .= "Content-Type: application/octet-stream; name=\"$name\"\n";
     $headers .= "Content-Transfer-Encoding: base64\n";
     $headers .= "Content-Disposition: attachment; filename=\"$name\"\n\n";
     $headers .= "$content\n\n";
     $headers .= "--NextPart$uid--\n";
  }
 $res = @mail($to, $oggetto, "", $headers, "-f $from");// or die ("ERROR
SEND_EMAIL");
// $res = @mail($to, $oggetto, $messaggio, $headers, "-f $from");// or die
("ERROR SEND_EMAIL");



non so se a qualcuno possa essere veramente utile, ma ho corretto un
buchettino, che non faceva funzionare se la email era spedita ad un server
di YAHOO
function send_email($to, $oggetto, $messaggio, $from="", $fromname="",
$attachment="", $messaggiohtml="" , $cc="", $bcc="", $confermaLettura=false)
 {
 global $web_email;
 if ($from=="") $from=$web_email;
 $messaggiohtml=str_replace("=","=3D",$messaggiohtml);
 $headers = "Return-Path: $from\n";
 if ($fromname=="")
  $headers .= "From: $from\n";
 else
  $headers .= "From: \"$fromname\"<$from>\n";
 if ($to!="") $headers .= "To: $to\n";
 if ($cc!="") $headers .= "Cc: $cc\n";
 if ($bcc!="") $headers .= "Bcc: $bcc\n";
 $headers .= "Reply-To: $from\n";
 if ($confermaLettura)
  $header .= "Disposition-Notification-To: $from\n"; //ricevere conferma di
lettura messaggio
    $uid = strtoupper(md5(uniqid(time())));
    $headers .= "MIME-Version: 1.0\n";
 $headers .= "Errors-To: $from\n"; //inviare gli errori a $from
 $headers .= "X-Priority: 3\n"; //1 UrgentMessage, 3 Normal
 $headers .= "X-Mailer: PHP/".phpversion()."\n"; //mailer
 $headers .= "X-Sender: <$from>\n";
 if ($attachment!="")
     $headers .= "Content-Type: multipart/mixed;\n
boundary=\"----=_$uid\"\n";
 elseif ($messaggiohtml!="")
     $headers .= "Content-Type: multipart/alternative;\n
boundary=\"----=_$uid\"\n";
 else
     $headmsg=false;
 if ($headmsg!=false)
  {
     $headers .= "------=_$uid\n";
     $headers .= "Content-Type: text/plan;\n     boundary=\"----=_$uid\"\n";
  }
    $headers .= "\n$messaggio\n\n";
 if ($messaggiohtml!="")
  {
     $headers .= "------=_$uid\n";
     $headers .= "Content-Type: text/html\n";
     $headers .= "charset=\"iso-8859-1\"\n";
     $headers .= "Content-Transfer-Encoding: quoted-printable\n\n";
     $headers .= "$messaggiohtml\n\n";
  }
 if ($attachment!="")
  {
     $content = fread(fopen($attachment,"r"),filesize($attachment));
     $content = chunk_split(base64_encode($content));
     $name = basename($attachment);
     $headers .= "------=_$uid\n";
     $headers .= "Content-Type: application/octet-stream; name=\"$name\"\n";
     $headers .= "Content-Transfer-Encoding: base64\n";
     $headers .= "Content-Disposition: attachment; filename=\"$name\"\n\n";
     $headers .= "$content\n\n";
  }
 if ($headmsg!=false)
     $headers .= "------=_$uid--\n";
