Salve a tutti,
ho un problema con l'allegare file alle email.
Eseguo l'upload del file, e questo avviene in maniera corretta
Utilizzo poi una classe scaricata da html.it per inviare l'email
L'email arriva con l'allegato, ma quando provo ad aprirlo mi dice che non ha un formato conosciuto.
Ho provato sia con file word e pdf ma niente...
Di seguito il codice che utilizzo
classe:
<?php
class sentMail{
//dichiarazione delle propietà
var $testo,$mittente,$destinatario,$oggetto,$errore,$t itolo,$content,$replay,$nomeFile,$indFile,$fType,$ inte;
//metodo costruttore
function sentMail(){
$this->destinatario=array();
$this->errore=array();
$this->content='multipart/alternative';
}
//metodo che imposta il mittende che invia la mail
function setMittente($inMittende){
$this->mittente=$inMittende;
}
//metodo che imposta il contenuto della mail
function setTesto($inTesto){
$this->testo=$inTesto;
}
//metodo che mimposta l'oggetto della mail
function setOggetto($inOggetto){
$this->oggetto=$inOggetto;
}
//metodo che imposta il nome del file
function setNomeFile($inFile){$this->nomeFile=$inFile;}
//metodo che imposta l'indirizzo del file
function setIndFile($inFile){$this->indFile=$inFile;}
//metodo che imposta il type del file
function setFileType($inFile){$this->fType=$inFile;}
//metodo che imposta la mail per la risposta
function setReplay($inReplay){$this->replay=$inReplay;}
//metodo che imposta il content delle mail
function setContent($inCont){$this->content=$inCont;}
//metodo che imposta il destinatario della mail
function setDestinatario($inDestinatario){
if(is_array($inDestinatario))
$this->destinatario=$inDestinatario;
else{
$tmpDet=explode(',',$inDestinatario);
$this->destinatario=$tmpDet;
}
}
//metodo che imposta le intestazioni della mail
function setInte($inValue){$this->inte=$inValue;}
//metodo che imposta il titolo della mail
function setTitolo($inTitolo){$this->titolo=$inTitolo;}
//metodo che restitusce l'errore
function getErrore(){return $this->errore;}
//metodo che invia la mail
function inviaMail(){
$mess="<html><head>
<meta http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">
<title>$this->titolo</title>
$this->inte
</head>
<body bgColor=#ffffff link=#333333 alink=#333333 vlink=#333333>
$this->testo
</body></html>";
$intestazioni = "From: $this->mittente\n";
($this->replay!='') ? $intestazioni.="Replay-to:".$this->replay."\n" : "\n";
$intestazioni.="X-Mailer: Sismail Web Email Interface\nMIME-version: 1.0\nContent-type: $this->content;\n boundary=\"Message-Boundary\"\n";
($this->nomeFile) ? $intestazioni.="\nContent-transfer-encoding: 7BIT\nX-attachments: $this->nomeFile" : '';
$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;
if($this->nomeFile!=''){
$f=fopen($this->indFile,'r');
$contenuto=fread($f,filesize($this->indFile));
$enco_att=chunk_split(base64_encode($contenuto));
fclose($f);
if($this->fType!='' && $this->indFile!=''){
$msg_body .= "\n\n--Message-Boundary\n";
$msg_body .= "Content-type: $this->fType; name=\"$this->nomeFile\"\n";
$msg_body .= "Content-Transfer-Encoding: BASE64\n";
$msg_body .= "Content-disposition: attachment; filename=\"$this->nomeFile\"\n\n";
$msg_body .= "$enco_att\n";
$msg_body .= "--Message-Boundary--\n";
}
}
foreach($this->destinatario as $tmpIndex=>$tmpValue){
if(!mail($tmpValue,$this->oggetto,$msg_body,$intestazioni))
return FALSE;
}
return TRUE;
}
}
?>
richiamo della classe:
$pntMail=new sentMail();
$pntMail->setMittente(stripslashes($_POST["email"]));
$pntMail->setNomeFile($nomeOriginale);
$pntMail->setIndFile($imgPercorso);
$pntMail->setDestinatario($gbl_lavoraconnoi_mail["to"]["email"]);
$pntMail->setTesto('Testo che si va ad inserire dento la mail in formato html');
$pntMail->setOggetto($gbl_lavoraconnoi_mail_oggetto.stripsl ashes($_POST["nome"]." ".$_POST["cognome"]));
$pntMail->setFileType($estenzione);
if($pntMail->inviaMail())
echo 'mail inviata';
else
echo 'mail non inviata';
Il percorso del file è un percorso assoluto ricavato con $_SERVER["DOCUMENT_ROOT"]
Estensione è pdf o doc....
Ora qualcuno sa darmi un aiuto???? vi prego....![]()
Grazie