Bene, dopo aver visto come inviare email da un form html con php, proviamo a fare qualcosa un pochettino più complicato, aggiungiamo un allegato al nostro form, diamo cosi la possibilità a un utente di inviare un file in aggiunta alla mai.
Iniziamo con il form, per comodità e semplicità realizzeremo un form molto semplice, creiamo la pagina inviamail.php e inseriamo questo codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="mailattachment.php" method="POST" enctype="multipart/form-data">
<input type="hidden" name="mastermail" value="info@antoniofullone.it">
<table border="0"><tr>
<td>Tua Mail:</td>
<td><input type=”text” name=”mittente” value=”" /></td>
</tr>
<tr>
<td>Oggetto:</td>
<td><input type=”text” name=”oggetto” value=”" /></td>
</tr>
<tr>
<td>Messaggio:</td>
<td><textarea cols=”30″ rows=”6″ name=”testomessaggio”></textarea></td>
</tr>
<tr>
<td>Allega file:</td>
<td><input type=”file” name=”attachment” /></td>
</tr>
<tr>
<td colspan=”2″><input type=”submit” value=”Invia mail” /></td>
</tr>
</table>
</form>
</body>
</html>
Il form è abbastanza semplice, aggiungiamo enctype="multipart/form-data" per poter gestire successivamente il file, se omettiamo questa informazione il form non funzionerà.
Ora passiamo a creare la pagina mailattachment.php e a scrivere il codice per gestire il tutto. Per prima cosa dobbiamo recuperare le variabili passate dal form, come fatto con il precedente tutorial quindi:
<?php
// Recuperiamo i valori dal form e aggiungiamo la nostra email dove ricevere il file allegato con la mail
$to = "la mail dove ricevere il messaggio";
$mail = $_POST['mail'];
$oggetto = $_POST['oggetto'];
$testomessaggio = $_POST['testomessaggio'];
// Creiamo le variabili per il file attachment
$attachment = $_FILES['attachment']['tmp_name'];
$attachment_type = $_FILES['attachment']['type'];
$attachment_name = $_FILES['attachment']['name'];
$headers = "From: " . $to;
// Verifichiamo se è stato eseguito l'upload del fileif (is_uploaded_file($attachment))
{
// usiamo la funzione fopen e fread per aprire e leggere il file e poi chiudiamo con fclose
$file = fopen($attachment,’rb’);
$data = fread($file, filesize($attachment));
fclose($file);
// Codifichiamo il file adattandolo a base64 usando la funzione chunk_split di php
$data = chunk_split(base64_encode($data));
/* Creiamo una variabile per un divisore che deve divir
dere la parte testuale del messaggio dal file stesso altrimenti riceverete una serie illeggibili di caratteri
*/
$func_rand = md5(time());
$mime_divisor = “==Multipart_divisor_x{$func_rand}x”;
// Aggiungo le intestazioni necessarie per l’attachment
$headers .= “\nMIME-Version: 1.0\n”;
$headers .= “Content-Type: multipart/mixed;\n”;
$headers .= ” divisor=\”{$mime_divisor}\”";
// Definisco il tipo di messaggio (MIME/multi-part)
$body .= “This is a multi-part message in MIME format.\n\n”;
// Mettiamo il separatore
$body .= “–{$mime_divisor}\n”;
// Questa è la parte “testuale” del messaggio
$body .= “Content-Type: text/plain; charset=\”iso-8859-1\”\n”;
$body .= “Content-Transfer-Encoding: 7bit\n\n”;
$body .= “From :” . $mail . “\n\n”;
$body .= $messaggio . “\n\n”;
// Ancora il separatore alla fine del contenuto testuale della mail
$body .= “–{$mime_divisor}\n”;
// Adesso aggiungiamo l’allegato alla mail
$body .= “Content-Disposition: attachment;\n”;
$body .= ” filename=\”{$attachment_name}\”\n”;
$body .= “Content-Transfer-Encoding: base64\n\n”;
$body .= $data . “\n\n”;
// chiudo con il separatore
$body .= “–{$mime_divisor}–\n”;
}
else
{
$body = $testomessaggio;
}
// Invio la mail
if (mail($to, $oggetto, $body, $headers))
{
echo “<em>Mail e allegato inviati correttamenti</em>”;
}else{
echo “<em>Ci sono problemi, verifica il codice php</em>”;
}
?>
Sostanzialmente la differenza è nella gestione del file, naturalmente, che viene eseguita attraverso alcune funzioni particolari di php. IL “separatore” viene creato per dividere la parte testuale dal file, è fondamentale.
Vi spiego cosa ho fatto:
essendo il form in formato multi/part (anche questo fondamentale da non omettere nel form) bisogna “spiegare” al server di posta che si tratta di due porzioni separate, delle quali una è testo e l’altra un file.
Altra update importante, viste le continue richieste sia nei commenti che nel forum, hom inserito una validazione del form, con jquery e una piccola funzione ajax per validare sia i dati del form, sia la mail che sia valida. Spero sia utile.
grazie per la tua disponibilità; ho già preparato le due pagine php che verranno pubblicate non appena si renderà necessario.
con simpatia
elisabetta tabacchi
Di nulla.
Se hai problemi sai come contattarmi.
Ciaoo
Mi dice:
Fatal error: Call to undefined function: base64_en() in /membri/gigi/mailattachment.php on line 38
Il mio sito è gigi.altervista.org
Come faccio???
Ciao Gigi,
sicuro che il codice scritto é corretto?
non fare copia e incolla direttamente da qua, potresti aver problemi, meglio riscriverlo.
in caso controlla le caratteristiche del tuo hosting, potrebbe essere un problema di compatibilita.
Seno prova a inviarmi il codice sorgente, magari usa il forum cosi possiamo discuterne meglio:
http://forum.antoniofullone.it
Ciaoo
Ciao, ho provato il tuo codice ma mi restituisce lo stesso errore di Gigi.
Al che ho provato a commentare la linea base64 e il codice funziona, purtroppo però il file, oltre a venire allegato, viene integrato nella mail. Che soluzioni si possono adottare?
Inoltre, c’è il modo per consentire di caricare solo alcuni tipi di file?
grazie
l’errore è proprio in base64_en… non esiste, bisogna correggere in base64_encode :p
Grazie Dario per la correzione.

Il codice è molto “grezzo” diciamo e scritto al volo dopo una richiesta di un utente, oltretutto di fretta.
Io l’ho provato in locale e mi funzionava.
per quanto l’arrivo della mail, io uso “MAIL” sul mio mac, e tutti i file mi arrivano integrati nelle mail, sul mio client è normale, su client windows non ho fatto prove, magari lo provo e ti faccio sapere.
per quanto riguarda il tipo di file puoi gestirlo usando l’array $_FILES creato , dai un occhiata a questo link :
http://www.sitepoint.com/print/advanced-email-php/
Grazie ancora per la segnalazione.
Ciaoo
per “integrato” nella mail intendevo proprio che il contenuto del file appariva in coda alla mail
per quanto riguarda la tipologia di file, non riesco a trovare l’elemento nel link che mi hai segnalato.
grazie
Si perchè il file è incluso all’interno del body del messaggio.

$body .= ” filename=”{$attachment_name}”n”;
Il tutorial è ispirato da quell’articolo.
invece il codice del tipo di file è:
$attachment_type = $_FILES['attachment']['type'];
all’interno del mio codice, nell’articolo originale in inglese invece è:
$fileatt_type = $_FILES['fileatt']['type'];
per verificare l’estensione del file dovresti creare un array che contiene le estensioni che vuoi “accettare” del tipo:
$estensione = array(‘jpg’, ‘jpeg’, ‘gif’);
e poi verificare che il file uploadato abbia una delle estensioni nell’array usando “case” o al limite un “if”, prova a dare un occhiata a questo articolo:
http://www.devshed.com/c/a/PHP/A-Better-Way-to-Determine-MIME-Types-for-MIME-Email-with-PHP/1/
è un articolo completo su come creare una classe per inviare mail e gestire i tipi di file.
Ciaoo
Ciao,
.
ho letto questo tutorial e ti ringrazio per averlo pubblicato, mi hai risolto parecchi problemi.
Non sono del settore però smanetto parecchio con i pc e tutti i moduli contatti che hai pubblicato mi funzionano
Anche io ho avuto problemi con le virgolette (“) e non mi funzionava niente ma poi ho sistemato tutto.
Ora però mi manca di allegare un file e proprio non ci riesco, o meglio, me lo invia ma alla ricezione non lo riesco a scaricare.
Potresti pubblicare il codice precedente con la funzione che lo spedisce in allegato
“$fileatt_type = $_FILES['fileatt']['type'];”
(e non nel corpo del testo).
Spero di essere utile anche agli altri con il mio intervento.
Un saluto.
Ciao digit,
a quale codice ti riferisci? a questo?
sn senza pc, nel senso che il mio mac e in assistenza appena posso pubblico un file zip con il codice completo, che ho gia pronto sul mio mac…
ad ongi modo questo codice e funzionante e testato… l’unico problema le virgolette, e la formattazione del codice…
vedo se posso pubblicarlo entro domani.
Ciaoo
Ciao,
grazie per la risposta veloce.
Si, il codice che ho usato è questo ma come ti dicevo, non essendo esperto, ho provato a modificare il tuo codice per far arrivare l’allegato separato dal corpo della mail (body..) ma non ci sono riuscito.
Vorrei che integrassi questa funzione nel codice che hai pubblicato in questo tutorial, perchè così com’è mi arriva tutto (testo e allegato) come allegato, tutto appiccicato in un unico file (che non soperchè non mi fa ne vedere ne scaricare).
Solo il titolo mi compare esattamete nell’oggetto della mail.
Dici che può essere la mia mail su Google che da problemi?
Grazie per il tuo immenso aiuto.
A prestissimo.
ciao ho scaricato e provato il codice per invio mail e allegato funziona tutto alla perfezione tranne per un piccolo ma rilevante particolare, la mail viene ricevuta come spam e quindi bloccata e senza allegato. puoi aiutarmi in questo problema? ciao e grazie della tua disponibilità…a presto
Ciao halmet il problema dipende dal tuo client, devi impòstarlo in maniera differente, perché con tutti gli altri funziona. Sto cercando di migliorare il codice, o meglio , isnerire l’allegato negli header cosi non avrai problemi, ma per ora funziona cosi.
grazie per la tempestiva risposta e per la tua disponibilà
proverò nel client e ti farò sapere ciao
Ciao Antonio,
io sto sbattendo la testa da 2 giorni con questo codice….
Ti spiego…
ho scaricato il codice e dopo aver aggiustato apici e apicetti vari, provo ad inviare la famosa email.
Senza allegato tutto ok ma appena allego un file mi accade una cosa strana: ricevo l’email e in anteprima vedo anche l’allegato (uso thunderbird). Appena clikko per aprire la mail, scompare la spilletta dell’allegato e non vedo alcun testo nel corpo della mail.
Se leggo la posta attraverso web, l’allegato compare col nome “noname” (uso gmail) e nel corpo della mail nulla.
Cosa sbaglio?
Grazie in anticipo.
Ciao Antonio, ho appena fatto una prova con gmail, la foto mi arriva sia su gmail che sul client di posta configurato, anzi su gmail mi arriva coem allegato.
nel codice che ho messo in download non c’è bisogno di modificare nulla se non il tuo indirizzo email.
per quanto riguarda thunderbird, controlla le impostazioni di antispam, per gmail online anche a me fa cosi, e normale.
Questo codice e molto semplice, la soluzione migliore sarebbe includerlo negli header, ho in programma un articolo su questo a breve.
Ma su thunderbird credo sia un problema che vede la mail come spam o qualcosa del genere.
prova con outlook o un altro client per vedere se fa la stessa cosa.
Ciaoo
Prego solo iddio che nessuno metta questo codice così com’è sui loro siti!
No, non sono pazzo ma fare uno script così è da assassini
Lo script in se funziona come molte persone hanno riportatto, ma lasciare ste variabili così è non solo pericoloso per se, ma anche per gli altri.
$mail = $_POST['mail'];
$oggetto = $_POST['oggetto'];
$testomessaggio = $_POST['testomessaggio'];
Senza controllo la potenza del PHP è nulla (e vai l’ho detta), capisco che non è nello scopo del post scrivere di sicurezza, o forse sì dato che parliamo di email.
Per prima cosa bisognerebbe controllare che ciò che l’utente ha inserito in $mail sia un indirizzo email giusto, poi che ve ne sia uno solo!
Uno dei giochetti dei vari script che lanciano spam è quello di trovare form di invio come questo e poi inserire seguiti da virgole una serie di indirizzi molto lunga.
Quindi prima cosa bisogna verificare che l’email inserita sia valida e poi controllare che dopo la prima email non vi sia una virgola, se c’è cancellare tutto quel che segue.
Stesso ragionamento per oggetto e messaggio ovviamente.
Sul file da aggiungere non dico altro, è fin troppo ovvio che è una cosa pericolosa da fare, ma meno di quanto si pensi.
In ogni caso aggiungere sempre un CAPTCHA magari verbale e non a immagini che è meno sicuro.
Scusate la saccenteria, ma gestisco un server di hosting e grazie a questi script inseriti dai miei clienti passo le notti in bianco
M.
@Marco, se segui la linea degli articoli su php e , in generale, anche del mio sito, si riferisce a chi e ai primi passi con php. ecco il perche del codice semplice.
poi una volta acquisita dimestichezza ognuno selo cambia come vuole.
Io in genere i controlli sul form li faccio lato client con javascript o jquery, non uso php ,evito di ricaricare la pagina e facilito il lavoro al server.
il file allegato l’ ho inserito di proposito nel corpo del messaggio, se mi fossi messo a parlare di header, sicurezza etc,etc. alloral’articolo non avrebbe avuto senso per chi si avvicina al linguaggio e ha voglia di provare a capire come si invia una mail con php, ci sono in giro migliaia di tutorial dedicati, ma tutti a chi e a un certo “livello” di php, qua si parla di primi passi, come la mia semplice guida.
Nessuna saccenteria, figurati.
hasta luego!
Antonio io l’ho scritto più che altro perché ho letto sopra post di persone che l’hanno installato sui loro server così com’è.
Il problema sicurezza è talmente importante che fa passare in secondo piano anche la compilazione di un allegato e di una email.
Il fatto che “esperti” di PHP sanno che la sicurezza dei propri script è importante passa in secondo piano, sono i più quelli che non sono esperti o peggio, credono fermamente di esserlo e sono quelli che fanno più danni in assoluto.
I danni poi non sono riversi contro di loro, il che è peggio, ma contro i gestori dei server, dato che a loro al massimo arriva un po’ di spam che poi filtrano, ma non si curano del fatto che oltre alla loro casella email hanno contribuito a sporcarne migliaglia di altre.
Io credo infine che parlando di email e quindi di form sia importante parlare di sicurezza implicitamente.
Per esempio anche il discorso che fai tu del jquery o comunque del javascript in generale è un discorso che traballa, mi basta spegnere il motore di javascript per fare un cross site scripting o no?
A meno che impedisci di spedire l’email dal form senza il supporto del javascript, ma qui poi blocchiamo l’accessibilità del form, non penso che sia una buona cosa a fronte poi di un minimo davvero, peso di lavoro per una macchina, il server, solitamente potente da poter reggere i pochi giri di clock in più.
Poi oh! Ognuno la pensa come vuole.
Ad majora
Marco come gia detto lo script serve per capire il meccanismo di come si invia una mail con php.
Con jquery o javascript non vedo dove sia il problema con la nostra azienda lo abbiamo usato decine di volte e mai avuto problem, gli spammer usano tanti metodi per “prendere” le mail non solo i form.
Javascript permette di validare form senza dover attendere il caricare della pagina e senza dove eseguire il refresh della pagina.
Che poi al limite si potrebbe eseguire doppia verifica anche con php, non vedo dove sia il problema, con l’impresa dove lavoro io ne abbiamo realizzati con php, con .net e con javascrip mai un problema, sicurezza non vale solo per un semplice form di invio mail, ma sono anche altri gli aspetti che riguardano un sito internet e la sua sicurezza,e questo ricorda che e un semplice tutorial.
Stai facendo discorsi troppo da “guru” per un semplice script per chi vuole imparare a inviare una mail con php, non mi sembra sia il caso di montare tutto questo ambaradan.
Con questo piccolo e “umile” tutorial ho aiutato molte persone a capire come funziona la mail di php, non ho ucciso nessuno, non credi?
No aspetta, non volevo fare il guru, assolutamente e non metto in dubbio che jqueri funzioni, dico solo che con un minimo di attenzione si può fare molto.
Tutto qui
possibile poter inviare più allegati contemporaneamente
A me non arrivano gli allegati
Please help me!
Ciao a tutti, vi avviso che lo script é stato modificato, ho aggiunto un javascript, con jquery, che valida i campi, compresa la mail che sia nel formato corretto, prima dell’invio al server.
Spero vi sia di utilitá.
Ciao
ciao
funziona tutto bene tranne gli allegati in quanto mi dice:
This is a multi-part message in MIME format
e poi mi mette un aserie di numeri e lettere
comunque quando invio senza allegati non mi inserisce il form e mail
ciao…………………
Ciao.
ho modifiacato il form rendendo obbligatori altri campi (cellulare, indirizzo ecc)
quando arriva la mail il testo riporta solo il messaggio.
io vorrei che nel corpo della mail venissero anche gli altri campi. come posso fare?
grazie
@paolo, devi modificare pure le variabili contenute nel file mailattachment cosi e inserirle nel body del messaggio.
leggi questo thread:
http://forum.antoniofullone.it/form-mail-con-allegato-e-campi-obbligatori-t-96.html
Ciao,
è un po’ di tempo che cercavo uno script simile, da utilizzare sul mio sito per farmi inviare le informazioni per lo scambio banner (tra cui l’immagine in allegato).
Purtroppo dopo aver provato più script simili ho visto che tutti davano problema con l’allegato… l’allegato arriva ma mai sotto forma di immagine!
Nel caso di questo script arriva sotto forma di allegato di nome “NONAME” leggibile con il block notes…
Pensavo che il problema fosse strettamente legato a gmail in quanto ho provato con la posta di libero e sembrava funzionare…
Ho visto che qualcun’altro (Antonio) ti ha segnalato lo stesso problema… e la risposta è stata
“Ciao Antonio, ho appena fatto una prova con gmail, la foto mi arriva sia su gmail che sul client di posta configurato, anzi su gmail mi arriva coem allegato.”
Quindi la domanda è come hai fatto?
(tieni conto che ho avutola possibilità di controllare su più indirizi di gmail ed è sempre la stessa storia…)
GUarda lo script come configurato arriva, l’unico problema è che alcuni client di posta lo bloccano come spam, e altri non lo accettano, questo perchè il file arriva incorporato nella mail e non negli header, come dovrebbe essere, devi lavorarci un pochino su e migliorare lo script per far si che arrvi negli header delal mail, cosi dovrebbe funzionare al 100% su tutti i client di posta, tieni presente che questo mio è uno script di esempio per far capire il funzionamento e , di conseguenza, adattarlo alle proprie esigenze.
Cmq a me con gmail arrivava tranquillamente come allegato.
Ciao Antonio,
ho scaricato e provato l’intero script, ma ho dei problemi, ovvero quando clicco sul pulsante invia, non passa alla pagina successiva per l’elaborazione del tutto, devo configurare qualcosa di particolare? :/
Ti ringrazio per l’aiuto,
Elisa
Ciao Antonio,
ho provato ad usare il tuo form ma qualcosa non va.. se provo a non compilare i campi e clicco invio mi restituisce un errore e fin qui ci siamo ma se completo tutti i campi e vado su invio non succede proprio nulla! non da segni di caricamento non passa alla pagina successiva e non invia l’email.. insomma non succede nulla.. Come mai? C’è qualche errore nel codice?
@Tommaso : lo script funziona. verifica che il tuo hosting supporti php e che il codice sia scritto correttamente.
Ciao e grazie per la risposta!
l’hosting aruba che uso supporta php, infatti ho provato (e funziona) un altro form molto simile al tuo per l’invio delle mail con allegato ma che non ha le funzioni java che hai implementato per la verifica dei campi. Quindi sono orientato per la tua soluzione che è piu completa ma non riesco a capire proprio perchè quando vado su invio non da segni di vita.. D’altronde non faccio altro che scaricare il tuo pacchetto e inserire la mia mail.. Potrebbe essere un problema riguardante il javascript? Oltre ai mac che uso ho provato con una macchina windows ma niente… HELP!!
Posta il link e il codice che hai usato cosi capisco. Solo che ora sono al lavoro, posso risponderti nel pomeriggio.
naturalmente i javascript sono stati inseriti cosi come gli ho trovati..
Quando scrivo un post con il codice non me lo pubblica posso mandartelo in privato o ce un altro modo per postare il codice?
posta il link alla pagina inanzitutto cosi vediamo cosa nn va.
ecco il link alla pagina http://www.itoons.it/inviamail.php
naturalmente nella stessa posizione ci sono anche gli altri 3 files:
http://www.itoons.it/mailattachment.php
http://www.itoons.it/jquery.js
http://www.itoons.it/ajax.js
Sto impazzendo il codice mi sembra corretto.. ma dov’è che sbaglio??
Tommaso : dopo guardo e ti dico, ieri proprio non ho avuto tempo.
@Tommaso : prova a togliere il codice “return false” e inserirlo dentor la parentesi graffa, prima della chiusura :
if (valid!=”) {
$(“#response”).fadeIn(“slow”);
$(“#response”).html(“Error:”+valid);
return false;
}
Prova cosi se va, perchè è abilitata una funzione ajax, ecco perchè non va. Il realtà lo script lo avevo preparato per un altro articolo, senza allegati.
Comunque se il return false lo metti dentro le graffe dovrebbe funzionare, la logica è : se i campi sono validi , invia, altrimenti return false e quindi non funge il pulsante. Prova cosi e dovrebbe funzionare.
Appena ho tempo vedo di aggiornare lo script
Sennò altra soluzione è togliere il javascript e validare con un plugin, tipo questo : http://bassistance.de/jquery-plugins/jquery-plugin-validation/
che è ottimo e lo ho usato spesso.(oltre che anche più completo del mio semplice script jquery).
woooow perfetto! ho incluso return false dentro le graffe nel file ajax.js e adesso magicamente FUNZIONA! Grazie tantissime e auguri!
Ps. Hai scritto un articolo dove spieghi come usare quel plug-in alternativo che mi hai indicato?
Di nulla, auguri anche a te
P.S : nn ho scritto articoli sul plugin ma è molto semplice da usare.
Ciao!
Ho notato che se invio il messaggio senza allegato mi arriva il messaggio nel corpo, ma se aggiungo l’allegato, nel corpo messaggio dell’email ce l’allegato ma sparisce il messaggio.. Soluzioni?
Ciao Antonio sono sempre qui a rompere le scatole
avrei un altro problemino come mai se aggiungo la stringa che carica il jquery:
nel della pagina html, quando la visualizzo nel browser mi sconvolge un po l’impaginazione? lo fa solo con firefox..
la stringa è la solita script src=http://…..jquery.js
e più giù intendevo nel head della pagina html..
allora per la stringa ho risolto richiamando l’ultima versione del jquery da remoto direttamente dal sito ufficiale cosi src=”http://code.jquery.com/jquery-latest.js”
Ma il problema del messaggio inglobato dall’allegato rimane..
prova a validare il codice e controlla che non ci sia qualche tag non chiuso.
http://validator.w3.org/
Tommaso, lo script è vecchiotto e io ho poco tempo, credimi, altrimenti lo avrei modificato.
Prova a chiedere aiuto qui :
http://forum.yourinspirationweb.com/
Scusami non voglio apparire brusco, ma purtroppo ho pochissimo tempo a disposizione, come vedi anche dai pochi aggiornamenti al blog, e non riesco a seguire tutto.
IL problema credo riguardi gli header della mail quando li invii.
Più avanti vedrò di correggere lo script e anche “aggiornarlo” visto che cmq come è ora è molto “rozzo” e sempliciotto. Ma in questo periodo proprio mi è impossibile, sorry
Antonio.
Ciao, articolo molto bello.
Solamente, sto cercando di capire come fare una cosa più semplice, solamente in parte differente.
Ho creato una form, che NON DEVE consentire di allegare files ai dati testuali impostati nei campi; deve invece allegare un file già hostato sul server che ospita il sito.
(Per la serie: dammi i tuoi dati così ti mando il file)
Capito il discorso del mime-type; ma come faccio a dire semplicemente “invia il file che sta ad http :// http://www.aaabbbb.com/filesdainviare/filedainviare.pdf” ?
Grazie!!
Io opterei per un link, a questo punto.
Compila il form, dopo il tasto invio gli fai arrivare una mail con il link al file da scaricare. Penso sia molto piu semplice.
Ciao Antonio, grazie per questo codice molto utile!! 3 domande: 1° posso far allegare più allegati al form? 2° posso far puntare ad una pagina di ringraziamenti o errore invece che solo alla scritta? posso rendere dei campi obbligatori? grazie mille!!!
Ciao :
1 – si ma il discorso e un po piu complicato
2 – certo, basta cambiare la pagina nella action del form oppure usare un semplice redirect con php
3 – se non ricordo male avevo gia aggiunto la validazione (lato client) per questo, comunque puoi farlo in modo semplice con jquery eccoti un esempio :http://www.antoniofullone.it/tutorial/php-tutorial/669/inviare-una-mail-con-php-ajax-e-jquery-in-stile-facebook/
Scusate tutti per il ritardo nelle risposte, mi sono trasferito e ho veramente poco tempo per controllare il blog, sorry.
Ciao, ti chiedo scusa,
ho caricato i file zip sul mio sito (aruba) modificando solo la pagina mailattachment.php inserendo alla variabile $to il mio indirizzo di posta elettronica….una volta che compilo tutto il modulo per fare la verifica dato il click su invia e-mail non succede nulla..non sembra neanche che carichi qualche cosa…
potresti aiutarmi?
verifica se il tuo hosting supporta php inanzitutto e occhio a non copiare e incollare il codice direttamente, potrebbe darti problemi specie con le “”.
si supporta il php ma ancora non riesco a venirne a capo
il codice non e’ copiato e incollato è preso direttamente dal file zip ho solo modificato la variabile $to
Io è tanto tempo che non uso sto codice, ma era funzionante verifica bene il tutto, adesso non ho tempo di provarlo, magari domani faccio un test per vedere se il codice ha qualche errore.
ti ringrazio ho messo il tutto su un sito di appoggio sempre su aruba e che supporta il php : http://www.piscinameridiana.com/fabio/dai/mail-att/inviamail.php
Ti ringrazio ancora per il tuo aiuto e la disponibilità…aspetto tue notizie!!
ragazzi scusate mi intrometto nella vostra discussione con un argomento che centra ben poco con quello di cui state discutendo,
posseggo un iMac vorrei configurare php.ini, anzi l’ho fatto, ma continua a darmi errore…perchè?
date/time support enabled
“Olson” Timezone Database Version 2010.15
Timezone Database internal
Default timezone Europe/Zurich
mi aiutate? Ciao grazie Luca da Zurigo
Ciao Antonio,
dopo tanto cercare ho trovato la soluzione al mio dilemma, ossia come fare a farmi mandare un mail (con relativo attachment) direttamente dal mio sito…ho scaricato il file che hai postato, ho corretto le famigerate “”, l’ho caricato e non funziona…nel senso che non fa niente. Non mi fa vedere se il file viene caricato…niente. Si ferma. Ora, un infarinatura di ADA, C e Java l’ho, quindi ho cercato eventuali errori…ma non li ho trovati…non so più che pesci prendere…
Grazie mille
Nox
X Luca
Con il per attivare php sul MAC devi lavorare direttamente da terminale…ed è una rogna bella lunga…
Ciao Nox : prova a postare il link cosi riesco a capire come mai non funziona.
P.S: lo script è vecchiotto ma dovrebbe essere ancora funzionante.
Ciao Admin,
sono tre giorni che mi sto dannando, ho applicato le correzioni, fatto tutte le prove del caso per vedere se qualche host mi blocca i messaggi… niente, invio il messaggio con l’allegato, passo alla schermata “Mail e allegato inviati correttamenti” ma il messaggio non arriva…
Se vuoi provarlo lo trovi su http://www.alevan70.altervista.org/inviamail.php
Grazie, ciao, ale
Rieccomi. Forse perche’ ho lasciato lievitare la pagina php ora funziona, ma gli allegati arrivano come noname e perdono l’estensione…
Ciao admin, dopo aver inserito ed editato tutto nn mi vede gli allegati, arriva un allegato al destinatario con denominazione “info” e contiene questo:
This is a multi-part message in MIME format.
==Multipart_divisor_x4fa3d8b9d4af7681bb2f1ca0a42112c2x
Content-Type: text/plain; charset=”iso-8859-1″
Content-Transfer-Encoding: 7bit
From :
==Multipart_divisor_x4fa3d8b9d4af7681bb2f1ca0a42112c2x
Content-Disposition: attachment;
filename=”parametri shop.txt”
Content-Transfer-Encoding: base64
fc-3179-wo
mdu5_QBV
==Multipart_divisor_x4fa3d8b9d4af7681bb2f1ca0a42112c2x
——-
help me!!! grazie millle