Salve,
vorrei spedire email con la funzione mail() con attach,
è possibile?
Guardando il manuale di riferimento non riporta la possibilità se non attraverso altre classi...
Avete qualche idea o sapete come fare?
Saluti
Salve,
vorrei spedire email con la funzione mail() con attach,
è possibile?
Guardando il manuale di riferimento non riporta la possibilità se non attraverso altre classi...
Avete qualche idea o sapete come fare?
Saluti
Non sò se ti possa essere utile ma io uso questo script per inviare mail con allegato:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="author" content="haxmen">
<meta name="generator" content="AceHTML 5 Pro">
</head>
<body>
<?php
/*
script che consente di inviare email
*/
$mess="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<HTML><HEAD>
<META http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">
<STYLE>
H5 {text-align: justify; text-decoration: none; color: #333333; font-size: 12px; font-family: Arial}
A:link, A:visited, A:hover { color: #FFcc00 }
</STYLE>
</HEAD>
<BODY bgColor=#ffffff link=#333333 alink=#333333 vlink=#333333>
<DIV><h5>mail di prova </h5>
</BODY></HTML>
";
/*Nella variabile $mess va inserito tutto il codice html che comporrà il corpo dell'email che si vuole inviare. Come nell'esempio si possono utilizzare anche i fogli di stile.*/
$e="ricevente@dominio.it"; /*Inserire l'indirizzo email a cui si vuole spedire l'email*/
$ogg="Mail di prova"; /*Inserire l'oggetto dell'email da spedire*/
$mittente="mittente@dominio.it"; /*Inserire l'indirizzo email che verrà visulaizzato come mittente dell'email*/
$reply="altro_mittente@dominio.it"; /*Inserire l'indirizzo email a cui verranno inviate le risposte all'email inviata*/
$titolo="mail.txt"; /*Inserire il nome che si vuole dare all'allegato*/
//$f=$_SERVER["DOCUMENT_ROOT"]."/mail/prova.txt"; /*Inserire l'indirizzo del file che si vuole inviare come allegato*/
$f='prova.txt';
$filetype="application/text";
/*
Inserire il formato MIME del file da allegare
text/html
*/
/*Non modificare nulla al di sotto di questa linea*/
//per inviarlo anche in copia carbone
//$intestazioni = "From: $mittente\nBCC: $bcc;\nReply-To: $reply\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";
$intestazioni = "From: $mittente\nReply-To: $reply\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;
ini_set('SMTP','indirizzo server di posta');
$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: $filetype; name=\"$titolo\"\n";
$msg_body .= "Content-Transfer-Encoding: BASE64\n";
$msg_body .= "Content-disposition: attachment; filename=\"$titolo\"\n\n";
$msg_body .= "$encoded_attach\n";
$msg_body .= "--Message-Boundary--\n";
//mail($e,$ogg,$msg_body, $intestazioni);
if(!(mail($e,$ogg,$msg_body, $intestazioni)))
{
print "<H5>Invio della email fallito.</H5>";
}else{
print "<H5>Invio della email riuscito.</H5>";
}
?>
</body>
</html>
Ciao![]()
![]()
Andrea
Grazie mille,
lo provero' quanto prima..
Se non ci fosse il forum....
se può essere utile nel thread in rilievo c'è il link ad una pillola in merito:
http://forum.html.it/forum/showthrea...hreadid=513009
ma guardando il codice postato penso che sia preso da lì.
![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
e se volessi che l'attach me lo spedisca l'utonto?![]()
nel form di contatti metti questo campo file per la selezione dell'allegato:
poi nella pagina in cui ricevi ed elabori il form ci metti:codice:<input name="fileUpload" type="file" id="fileUpload" />
codice:global $strDesc; global $fileUpload; global $fileUpload_name; global $fileUpload_size; global $fileUpload_type; $fileUpload = stripslashes($fileUpload); if ($fileUpload <> ''){ $fileHandle = fopen($fileUpload, "r"); $fileContent = fread($fileHandle, $fileUpload_size); $fileContent = addslashes($fileContent); } /* altro tuo codice */ //componi la mail con l'allegato $mess = "testo che vuoi"; $e = "destinatario@email.it"; $ogg = "Oggetto della mail"; $mittente = "mittente@email.it"; $reply = "replay-to@email.it"; //non modificare nulla al di sotto di questa riga if ($fileUpload <> ''){ $titolo = $fileUpload_name; /*Inserire il nome che si vuole dare all'allegato*/ $f = $fileUpload; /*Inserire l'indirizzo del file che si vuole inviare come allegato*/ $filetype = $fileUpload_type; /*Inserire il formato MIME del file da allegare*/ } $intestazioni = "From: $mittente\nReply-To: $reply\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; if ($fileUpload <> ''){ $filez = fopen($f, "r"); $contents = fread($filez, filesize($f)); $encoded_attach = chunk_split(base64_encode($contents)); fclose($filez); } if ($fileUpload <> ''){ $msg_body .= "\n\n--Message-Boundary\n"; $msg_body .= "Content-type: $filetype; name=\"$titolo\"\n"; $msg_body .= "Content-Transfer-Encoding: BASE64\n"; $msg_body .= "Content-disposition: attachment; filename=\"$titolo\"\n\n"; $msg_body .= "$encoded_attach\n"; $msg_body .= "--Message-Boundary--\n"; } mail($e,$ogg,$msg_body, $intestazioni);
dovrebbe funzionare perché l'ho preso da un mio form e funziona...
Importante: ricordati di mettere l'enctype al tag form
codice:<form name="form" method="post" action="tua_pagina.php" enctype="multipart/form-data">![]()
Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone
![]()
![]()
Esatto lo script è tratto da quella pillola!
Ciao![]()
![]()
Andrea
Ciao a tutti, una domanda veloce
Dove vado a modificare se volessi inserire 2 allegati?
Guybrush Threepwood