[Primipassi] Inviare allegati tramite php
Massimiliano Bertei
pbi@virgilio.it
Mar 29 Apr 2003 15:04:37 CEST
AIUTOOOOOOO
Uso questo pezzo di codice fatto da me per inviare le e-mail con allegati:
$mess=$m_testo;
$intestazioni = "From: International PBI Newsletters\nReply-To:
info@internationalpbi.it\nX-Mailer: Sismail Web Email
Interface\nMIME-version: 1.0\nContent-type: multipart/mixed;\n
boundary=\"Message-Boundary\"\nContent-transfer-encoding:
7BIT\nX-attachments: $titolo";
$body_top = "--Message-Boundary\n";
$body_top .= "Content-type: text/html ; charset=iso-8859-1\n";
$body_top .= "Content-transfer-encoding: 7BIT\n";
$body_top .= "Content-description: Mail message body\n\n";
$msg_body = $body_top . $mess;
$filez = fopen($f, "r");
$contents = fread($filez, filesize($f));
$encoded_attach = chunk_split(base64_encode($contents));
fclose($filez);
$msg_body .= "\n\n--Message-Boundary\n";
$msg_body .= "Content-type: $tipo_allegato; name=\"$titolo\"\n";
//$tipo_allegato=tipo mime del file; $titolo= Nome dell'allegato
echo ($tipo_allegato);
$msg_body .= "Content-Transfer-Encoding: BASE64\n";
$msg_body .= "Content-disposition: attachment;
filename=\"$titolo\"\n\n";
//$titolo=nome dell'allegato
$msg_body .= "$encoded_attach\n";
$msg_body .= "--Message-Boundary--\n";
if(!(@mail($html,$m_oggetto,$msg_body, $intestazioni))){
print "<H5>Invio della email fallito.</H5>";}
else
?>
<br>
<br>
<?php
{echo ("E-Mail Spedita!");}
ma funziona solo con file .txt!
se mando ad es. un' immagine jpg non riesce ad prirla lo stesso per i
file zip etc..
i tipi mime che uso sono:
"application/x-gzip-compressed" => ".tar.gz, .tgz",
"application/x-zip-compressed" => ".zip",
"application/x-tar" => ".tar",
"text/plain" => ".html, .php, .txt, .inc",
"image/bmp" => ".bmp, .ico",
"image/gif" => ".gif",
"image/pjpeg" => ".jpg, .jpeg",
"image/jpeg" => ".jpg, .jpeg",
"application/x-shockwave-flash" => ".swf",
"application/msword" => ".doc",
"application/vnd.ms-excel" => ".xls",
"application/octet-stream" => ".exe, .fla"
SBAGLIO QUALCOSA???
AIUTOOOOOO
Maggiori informazioni sulla lista
primipassi