Torna indietro   AlterVista | Spazio web gratis, hosting free php mysql > Supporto > PHP, MySql e file database

Discussione chiusa
 
LinkBack Strumenti discussione Modalità visualizzazione
  #1 (permalink)  
Vecchio 02-09-2005, 12.32.54
L'avatar di domenicoragusa
Altervistiano Junior
 
Data registrazione: 03-06-2005
Messaggi: 618
Post allegati e funzione mail()

potete spiegarmi come fare per mandare insieme alle email anche dei piccoli allegati, usando la funzione mail(). Grazie anticipatamente.
  #2 (permalink)  
Vecchio 02-09-2005, 12.56.54
Utente attivo
 
Data registrazione: 18-10-2003
Messaggi: 252
Predefinito

Ho fatto delle prove qua: http://golfox.altervista.org/tutoria...con_attach.php

dovrebbe funzionare correttamente... almeno a me funziona

Ciao
  #3 (permalink)  
Vecchio 02-09-2005, 12.59.25
L'avatar di domenicoragusa
Altervistiano Junior
 
Data registrazione: 03-06-2005
Messaggi: 618
Post

grazie adesso provo...

[edit]funziona anche bene però, il form per l'email lo so fare, compresa la pagina php per mandare l'email...puoi darmi il codice che hai usato per l'allegato, vedendo quel codice mi è venuto un giramento di testa, il mio è più semplice, ma mooooolto efficace.[/edit]

Ultima modifica di domenicoragusa : 02-09-2005 alle ore 13.06.43
  #4 (permalink)  
Vecchio 02-09-2005, 13.16.04
Utente attivo
 
Data registrazione: 18-10-2003
Messaggi: 252
Predefinito

Citazione:
Originalmente inviato da domenicoragusa
grazie adesso provo...

[edit]funziona anche bene però, il form per l'email lo so fare, compresa la pagina php per mandare l'email...puoi darmi il codice che hai usato per l'allegato, vedendo quel codice mi è venuto un giramento di testa, il mio è più semplice, ma mooooolto efficace.[/edit]
Beh, la parte php è corta!!! Il resto è tutto JS e HTML.
Faccio vedere sempre tutto il codice perché altrimenti non riesci a capire che variabili sono quelle che utilizzo e da dove vengono.

Comunque eccoti accontentato/a:

Codice PHP:
    #### imposto l'email e la spedisco ####
    
$mail_boundary md5(uniqid(time()));
    
$mail_headers "From: {$from}\n";
    
$mail_headers .= "Reply-To: {$from}\n";
    
$mail_headers .= "X-Priority: 1 (Highest)\n";
    
$mail_headers .= "MIME-Version: 1.0\r\n";
    
$mail_headers .= "Content-type: multipart/mixed; boundary=\"$mail_boundary\"";
    
$mail_headers .= "\r\n\r\n";
    
$mail_headers .= "This is a multi-part message in MIME format. ";
    
$mail_headers .= "\r\n\r\n";
    
#$mail_headers .= "X-Mailer: PHP/" . phpversion();

    
$file fread(fopen($file_content"r"), $file_size);
    
$file chunk_split(base64_encode($file));

    
$mail_body "--$mail_boundary\n";
    
$mail_body .= "Content-type:text/plain; charset=US-ASCII\r\n";
    
$mail_body .= "Content-transfer-encoding:8 bit\r\n\r\n";
    
$mail_body .= "{$testo}\n\n\n\n";
    
$mail_body .= "--$mail_boundary\n";
    
$filename basename($file_name);
    
$mail_body .= "Content-type:application/octet-stream; name=$filename\r\n";
    
$mail_body .= "Content-transfer-encoding:base64\r\n\r\n";
    
$mail_body .= $file "\r\n\r\n";
    
$mail_body .= "--$mail_boundary--\r\n";

    
$ris mail("$email"$subject$mail_body$mail_headers); 
Ciao
  #5 (permalink)  
Vecchio 02-09-2005, 13.40.31
L'avatar di domenicoragusa
Altervistiano Junior
 
Data registrazione: 03-06-2005
Messaggi: 618
Post

Va be' non fa niente, posso anche mettere l'hd on line...

Ultima modifica di domenicoragusa : 02-09-2005 alle ore 16.56.35
  #6 (permalink)  
Vecchio 02-09-2005, 20.12.00
Utente attivo
 
Data registrazione: 18-10-2003
Messaggi: 252
Predefinito

Citazione:
Originalmente inviato da domenicoragusa
Va be' non fa niente, posso anche mettere l'hd on line...
Se vuoi fare polemica caschi male...
Non vedo cosa ci sia di difficile nella parte di codice che ti ho messo.

Visto che ne sai a pacchi di php quelle quattro righe le dovresti capire al volo: è una banalissima sequenza di azioni e se non conosci le funzioni te le vai a vedere nel sito del php.

Ciao

Ultima modifica di golfox : 02-09-2005 alle ore 20.14.36
  #7 (permalink)  
Vecchio 02-09-2005, 20.30.06
L'avatar di domenicoragusa
Altervistiano Junior
 
Data registrazione: 03-06-2005
Messaggi: 618
Predefinito

Ci siamo fraintesi tu hai capito che sono "un'esperto" ed invece sono un neofita; ieri ho iniziato con il php; quel codice per me è difficile...
  #8 (permalink)  
Vecchio 02-09-2005, 20.30.31
L'avatar di jostock
Utente storico
 
Data registrazione: 21-02-2005
Messaggi: 2,646
Invia un messaggio via ICQ a jostock Invia un messaggio via AIM a jostock Invia un messaggio via MSN a jostock Invia un messaggio via Yahoo a jostock
Predefinito

usa lo script mio di upload allora lo puoi scaricare da qui l'unica cosa ke devi fare è sistemare la grafica xke ci ho messo 10 min a farlo e nn l'ho sistemata
__________________


Realizzazione siti web:
http://www.giacomotomolillo.net/

  #9 (permalink)  
Vecchio 02-09-2005, 20.36.52
L'avatar di domenicoragusa
Altervistiano Junior
 
Data registrazione: 03-06-2005
Messaggi: 618
Predefinito

grazie domani lo proverò, ora devo andare a mangiare...
Ciao
  #10 (permalink)  
Vecchio 03-09-2005, 11.52.36
Utente attivo
 
Data registrazione: 18-10-2003
Messaggi: 252
Predefinito

Citazione:
Originalmente inviato da domenicoragusa
Ci siamo fraintesi tu hai capito che sono "un'esperto" ed invece sono un neofita; ieri ho iniziato con il php; quel codice per me è difficile...
Allora scusami... quando mi hai parlato di codice "mooooolto efficace" ho pensato ad un "piaccapiquattrista"... a questo punto sarebbe più semplice se tu mi postassi il tuo codice che poi ti metto io il codice per l'allegato dato che comunque deve essere un po' modificato anche il tuo codice. Comunque fai molta attenzione all'header peché è quello che ti permette di vedere correttamente l'allegato. nella fattispecie occhio a questa riga:
Codice PHP:
$mail_headers .= "Content-type: multipart/mixed; boundary=\"$mail_boundary\""
e alla costruzione del body (var. $mail_body).

Ciao
  #11 (permalink)  
Vecchio 03-09-2005, 11.59.09
Utente attivo
 
Data registrazione: 18-10-2003
Messaggi: 252
Predefinito

Citazione:
Originalmente inviato da jostock
usa lo script mio di upload allora lo puoi scaricare da qui l'unica cosa ke devi fare è sistemare la grafica xke ci ho messo 10 min a farlo e nn l'ho sistemata
Una domanda, giusto per capire la "filosofia" del tuo discorso: cosa centra l'upload di un file su file system con l'invio di una email con allegato?

Ciao
  #12 (permalink)  
Vecchio 03-09-2005, 12.04.34
L'avatar di domenicoragusa
Altervistiano Junior
 
Data registrazione: 03-06-2005
Messaggi: 618
Post

jostock ha detto questo perchè io poi ho detto che mettevo l'hd online, aspetta, mo di to il codice; "piaccapiquattrista" cosa significa? forse è golfoxiano...

ecco il codice
Codice PHP:
<?
    $intestazioni  
"MIME-Version: 1.0\r\n";
    
$intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
    
$messaggio="
<html>
<head>
<title>Email dal sito</title>
<style>
body{
    color: #000000;
    background-color: #ffffff;
    font-family: Times new Roman;
    font-size: 12pt;
    text-align: justify;
}
</style>
</head>
<body>
    Nome: $nome<br>
    Email: $email<br>
    Motivo: $motivazione<br>
    Testo: $testo<br>
    Ip: $REMOTE_ADDR;<br>
    <hr>
</body>
<html>
"
;
    
mail("domenicoragusa@altervista.org""Email dal sito"$messaggio$intestazioni);
?>

Ultima modifica di domenicoragusa : 03-09-2005 alle ore 12.08.09
  #13 (permalink)  
Vecchio 03-09-2005, 12.41.59
Utente attivo
 
Data registrazione: 18-10-2003
Messaggi: 252
Predefinito

Allora...
Innanzi tutto devi rinunciare all'html nel corpo della e-mail perché credo ci possano essere dei problemi nella composizione della mail stessa (messaggio + allegato)... tentare non nuoce.
Consiglio: tieni presente che i css si possono disabilitare e che una mail senza "fronzoli" è sicuramente più leggibile e chiara per tutti.

Codice PHP:
<?
$mail_boundary 
md5(uniqid(time()));
$intestazioni "MIME-Version: 1.0\r\n";
$intestazioni .= "Content-type: multipart/mixed; boundary=\"$mail_boundary\"";
$file fread(fopen($file_content"r"), $file_size); 
$file chunk_split(base64_encode($file));
$messaggio "--$mail_boundary\n"
$messaggio .= "Content-type:text/plain; charset=US-ASCII\r\n"
$messaggio .= "Content-transfer-encoding:8 bit\r\n\r\n"
$messaggio .= "<html>
<head>
<title>Email dal sito</title>
<style>
body{
color: #000000;
background-color: #ffffff;
font-family: Times new Roman;
font-size: 12pt;
text-align: justify;
}
</style>
</head>
<body>
Nome: $nome<br>
Email: $email<br>
Motivo: $motivazione<br>
Testo: $testo<br>
Ip: $REMOTE_ADDR;<br>
<hr>
</body>
<html>
\n\n\n\n"

$messaggio .= "--$mail_boundary\n"
$filename basename($file_name); 
$messaggio .= "Content-type:application/octet-stream; name=$filename\r\n"
$messaggio .= "Content-transfer-encoding:base64\r\n\r\n"
$messaggio .= $file "\r\n\r\n"
$messaggio .= "--$mail_boundary--\r\n"
mail("domenicoragusa@altervista.org""Email dal sito"$messaggio$intestazioni);
?>
Il codice che ti ho messo qua non l'ho provato, inoltre ci sono delle variabili non assegnate (quelle del file da allegare) quindi sicuramente non funziona al volo. Ti ho messo il minimo indispensabile (non c'è la priorità, il from e il reply to e altre cose). A proposito: dove tieni il file da allegare? lo tieni sul server o fai un upload?

Vedo che hai delle variabili tipo $motivazione, $testo e compagnia: immagino tu li prenda da un form.

Fai molta anntenzione che qua non ti ho messo l'apertura del file da allegare e comunque faresti prima a copiare il mio script che già funziona poi sarai tu ad adattarlo come vuoi.

Per avere 12 anni sei già parecchio intraprendente e quindi posso farti solo i complimenti, purtroppo per allegare un file ad una e-mail bisogna sapere un po' di cosucce di base per cui devi solo portare pazienza. Vedrai che avrai da soffrire su questa cosa.

P.S. "piaccapiquattrista" viene da PHP4 cioè il linguaggio che stai utilizzando... non c'è niente di golfoxiano :smile:

Ciao
  #14 (permalink)  
Vecchio 03-09-2005, 12.57.53
L'avatar di domenicoragusa
Altervistiano Junior
 
Data registrazione: 03-06-2005
Messaggi: 618
Post

si uso un form, ora devo aggiungere nel form il campo per il file, vorrei usare l'upload per gli allegati; il campo del file come si deve chiamare?
Grazie

P.S. che vergogna, non so neanche il nome del linguaggio che sto imparando...
ma il 4 (del php4) è la versione vero?

Ultima modifica di domenicoragusa : 03-09-2005 alle ore 13.15.32
  #15 (permalink)  
Vecchio 03-09-2005, 18.23.39
Utente attivo
 
Data registrazione: 18-10-2003
Messaggi: 252
Predefinito

Se vai nel mio esempio vedrai che il file viene preso dal form con il nome file e la parte che istanzia le variabili per poter spedire il file è questa:

Codice PHP:
    # MEMORIZZIAMO NELLA VARIABILE $file_content IL CONTENUTO DEL FILE
  
$file_content $_FILES['file']['tmp_name'];
  
$file_name $_FILES['file']['name'];
  
$file_type $_FILES['file']['type'];
  
$file_size $_FILES['file']['size']; 
La variabile $file_type in realtà non ti serve... l'ho messa solo per completezza e per fare delle prove.

Ciao

P.S. si, il 4 del PHP4 corrisponde alla versione del php
  #16 (permalink)  
Vecchio 03-09-2005, 19.11.34
L'avatar di domenicoragusa
Altervistiano Junior
 
Data registrazione: 03-06-2005
Messaggi: 618
Predefinito

per quanto riguarda i fronzoli, ho messo lo script a posto, però non riesco a farmi mandare l'allegato, vsto che non voglio farti perdere tempo e non voglio perdere tempo, metterò l'hd on line, non fa niente, quando diventerò più esperto ci proverò nuovamente;
ora metto il codice del mio script, mooooolto più corto e funzionale ugualmente.
Codice PHP:
<?
    $intestazioni  
"MIME-Version: 1.0\r\n";
    
$intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
    
$messaggio="
    Nome: $nome<br>
    Email: $email<br>
    Motivo: $motivazione<br>
    Testo: $testo<br>
    Ip: $REMOTE_ADDR;<br>
"
;
    
mail("domenicoragusa@altervista.org""Email dal sito"$messaggio$intestazioni);
?>
Grazie per il tuo aiuto.
Ciao

Ora vado a stu diare nel tuo sito....chissà forse divento bravo come te...


P.S. dove sono i tutorial???? una pagina bianca?

Ultima modifica di domenicoragusa : 03-09-2005 alle ore 19.13.56
  #17 (permalink)  
Vecchio 04-09-2005, 14.56.33
Utente attivo
 
Data registrazione: 18-10-2003
Messaggi: 252
Predefinito

Citazione:
Originalmente inviato da domenicoragusa
P.S. dove sono i tutorial???? una pagina bianca?
Purtroppo non ho mai tempo di mettere a posto il mio sito che tra l'altro deve essere anche un po' "rinfrescato". Comunque ti manderò un mp con i link e lì potrai vedere quello che ho fatto.

Ciao
  #18 (permalink)  
Vecchio 04-09-2005, 15.03.19
L'avatar di domenicoragusa
Altervistiano Junior
 
Data registrazione: 03-06-2005
Messaggi: 618
Predefinito

ok, grazie
Discussione chiusa

Strumenti discussione
Modalità visualizzazione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks are Attivato
Pingbacks are Attivato
Refbacks are Disattivato



Tutti gli orari sono GMT +1. Adesso sono le 01.26.50.