Newsgroup: it.comp.www.php
Titolo: file txt in allegato

Salve a tutti,
ho provato la famosa classe mime per inviare mail con allegati.
Il problema è che ho provato vari content type:
con text/plain il contenuto del file viene visualizzato all'interno
del corpo della mail. Con altri tipi di content-type viene salvato
come allegato.
In tutti i casi, il contenuto del file non è quello originale, ma
sembra uuencodato:
IyBNeVNRTCBkdW1wIDguMTMKIwojIEhvc3Q6IGxvY2FsaG9zdCAgICBEYXRhYmFzZTogZG9ja3Np
ZGUKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiMgU2VydmVyIHZlcnNpb24JMy4yMy4zNgoKIwojIER1bXBpbmcgZGF0YSBmb3IgdGFibGUg
J2RvY2tzaWRlX2FycF9hY2N0cycKIwoKCiMKIyBEdW1waW5nIGRhdGEgZm9yIHRhYmxlICdkb2Nr
c2lkZV9hcnBfYXN0YXQnCiMKCgojCiMgRHVtcGluZyBkYXRhIGZvciB0YWJsZSAnZG9ja3NpZGVf
YXJwX2JhbnMnCiMKCgojCiMgRHVtcGluZyBkYXRhIGZvciB0YWJsZSAnZG9ja3NpZGVfYXJwX2Nt
bXRzJwojCgoKIwojIER1bXB
etc.
Qlc sa come risolvere?
--
Ambrogio disse, riguardo a certe idee di software pirata ed al mio invito ad usare altri os:
"Quale sarebbe? Il linux? Quel coso dove 3000 programmi non funzionano?"

 come allegato.
devi effettuare un controllo if(empty($body)) $body=".";
perché solo se il body è vuoto ti ingloba il txt nel corpo.
se non ti va comunque, posta il codice.
ciao!
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.php.net

se non ti va comunque, posta il codice.
Grazie mille!Proverò e ti farò sapere:)


se non ti va comunque, posta il codice.
Riflettendoci, il body non era vuoto.Inoltre, a mano ho modificato il
metodo in cui inseriva, come content type, text/plain quando il body
era vuoto, cambiandolo in altri formati!
Il problem è inoltre il fatto che, pur essendo inglobato nel corpo,
l'encoding provoca un cambiamento drastico del contenuto del file.
base64 va sempre bene??
-- 
WEbdOM 
PHP/ASP Developer


Ciao punk,
conosci la classe mime di Sascha Schumann?
Questo è il codice (simile all'esempio trovato nel codice della
classe):
  $attachment = fread(fopen("$VARS[DDIR]/$FRM[sql]", "r"),
filesize("$VARS[DDIR]/$FRM[sql]"));
  $attachment2= fread(fopen("$VARS[DDIR]/$FRM[file]", "r"),
filesize("$VARS[DDIR]/$FRM[file]"));
  $mail = new mime_mail();
  $mail->from = "
webm...@mastertop100.com
";
  $mail->headers = "Error-To: 
webm...@mastertop100.com
";
  $mail->to = "
domini...@tin.it
";
  $mail->subject = "Invio file di attachment sql";
  $mail->body = '.';
  $mail->add_attachment($attachment, $FRM[sql], "text/plain");
  //$mail->add_attachment($attachment2,$FRM[file],"multipart/mixed");
  $mail->send();
Ho anche provato un secondo attachment.
Ho risolto il problema del testo 'criptato' commentando del codice di
encoding in un metodo privato della classe (base64).
Purtroppo i file non vengono allegati, ma inseriti nel corpo della
mail. Ho provato sia con un body vuoto che non vuoto. In OE si vede il
segno di allegato (la graffetta), ma nella realtà no c'è nessun file
ed il corpo di questi ultimi vengono inclusi nel body della mail.
In Eudora non c'è nemmeno il segno di allegato.
Questi sono gli header inviati più l'inizio del file che dovrei
allegare:
Content-Type: text/plain
Content-Transfer-Encoding:
base64
ciao cao ciao cao
Content-Type: multipart/mixed; name = "html-27-9-02.txt"
Content-Transfer-Encoding:
base64
$HEAD = <<<HEAD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
etc. etc.
Se mi dai una mano ti ringrazio:)
--
PubbliProgress:
http://www.gruppokaos.it/pagine/Documenti/nestlè.htm
http://www.gruppokaos.it/pagine/Documenti/Controinformazione/un_opuscolo_scomodo.htm
http://www.gruppokaos.it/pagine/Documenti/Banche%20Dati/banche.htm

 ed il corpo di questi ultimi vengono inclusi nel body della mail.
Non è un problema dello script: quasi tutti (anzi, credo proprio tutti) i 
software di interrogazione di posta elettronica (in particolare ed in 
primis OE) s ericevono come allegati file .txt li aprono e li inseriscono 
nel corpo del testo... È normale, a dir la verità non credo ci sia un 
modo per ovviare a questo inconveniente...
-- 
Luke, lo Steccalecca
    Email:   
alessandro...@tin.it
      ICQ:   120242146
Home Page:   
http://www.fanwars.cjb.net

quoto quello che dice WebdoM, perché quotare è divertente!!
include "./mail.inc.php";
$mail=new mime_mail();
$mail->from = "
webm...@mastertop100.com
";
$mail->to = "
domini...@tin.it
";
$mail->subject = "Invio file di attachment sql";
$mail->body = '.';
$attachment = fread(fopen("$VARS[DDIR]/$FRM[sql]", "r"), 
filesize("$VARS[DDIR]/$FRM[sql]"));
$attachment2= fread(fopen("$VARS[DDIR]/$FRM[file]", "r"),
filesize("$VARS[DDIR]/$FRM[file]"));
$mail->headers = "Error-To: 
webm...@mastertop100.com
";
//^^^qui casca l'asino!! l'header corretto è "Errors-To: xxx@xxx"
//se il browser interpreta male, non ti accetta gli headers!
$mail->add_attachment($attachment, $FRM[sql], "text/plain");
//$mail->add_attachment($attachment2,$FRM[file],"multipart/mixed");
$mail->send();
<utility>
se cambi la function send in modo da avere una stringa per argomento e se 
cambi questa riga:
if (!empty($this->body))
                $this->add_attachment($this->body,  "",  $mia_mime); 
//prima c'era "text/plain" anciché $mia_mime
puoi chiamare $mail->send("text/plain");
oppure $mail->send("text/html");
se vuoi che ti tratti il body come html...
</utility>
fai questa prova (Errors-To) e fammi sapere.
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/philosophy/gif.html


Ok, lo faccio per curiosità, è l'unico motivo! Cmq, mentre stavo
decidendo di studiarmi qualche RFC, ho trovato un'altra classe molto
più semplice da utilizzare. Funziona tutto,anche l'attachment di file
txt.
Se siete interessati, posto il codice e l'esempio di utilizzo.
--
Non è il concetto di intelligenza extraterrestre a essere difficile da afferrare. 
E' il concetto opposto che incontra resistenze.
I. Asimov .

 I. Asimov .
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/philosophy/no-word-attachments.it.html