Discussione:
aiuto! server linux -> windows e lo script non funziona piy :(
(troppo vecchio per rispondere)
Mauro
2004-01-14 13:11:05 UTC
Permalink
ho realizzato uno script php che invia il contenuto di un form come attach
dif (da usare con excel) e come normale mail
l'ho testato sul nostro server linux e funziona a meraviglia...
ora che l'ho messo sul server del cliente non va più.. mi dà un allegato del
peso di zero bytes...

qualche anima pia può aiutarmi? il server è Microsoft-IIS/5.0
lo script è questo:

$boundary = strtoupper(md5(uniqid(time())));
$mail_header = "From:$from\n";
$mail_header .= "MIME-Version: 1.0";
$mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
$mail_header .= "\n\nThis is a multi-part message in MIME format";
$mail_header .= "\n--$boundary";
$mail_header .= "\nContent-Type: text/plain";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n$message2";

$file_content = base64_encode($message);

$mail_header .= "\n--$boundary";
$mail_header .= "\nContent-Type: application/x-excel; name=\"$file_name\"";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment;
filename=\"$file_name\"";
$mail_header .= "\n\n$file_content";
$mail_header .= "\n--$boundary--";
mail($to,$subject,"",$mail_header);


grazie
Setec Astronomy
2004-01-14 13:18:05 UTC
Permalink
ora che l'ho messo sul server del cliente non va piy.. mi d` un
allegato del peso di zero bytes...
qualche anima pia pur aiutarmi? il server h Microsoft-IIS/5.0
Ma funzione mail funziona? E' abilitato o configurato un server SMTP?
--
I'am what I'am, I do what I can
Sei un newbie? Leggi questo http://url.repository.biz/go/1
Inviare email con allegati? http://url.repository.biz/go/x
Mauro
2004-01-14 13:20:29 UTC
Permalink
si si la mail mi arriva... il testo nella mail e' corretto solo
l'attachment arriva vuoto

grazie
Post by Setec Astronomy
ora che l'ho messo sul server del cliente non va piy.. mi d` un
allegato del peso di zero bytes...
qualche anima pia pur aiutarmi? il server h Microsoft-IIS/5.0
Ma funzione mail funziona? E' abilitato o configurato un server SMTP?
--
I'am what I'am, I do what I can
Sei un newbie? Leggi questo http://url.repository.biz/go/1
Inviare email con allegati? http://url.repository.biz/go/x
Setec Astronomy
2004-01-14 13:30:50 UTC
Permalink
Post by Mauro
si si la mail mi arriva... il testo nella mail e' corretto solo
l'attachment arriva vuoto
O e' un problema di gestione dell'attachment o un problema del tuo
script per l'invio. In entrambi i casi:

http://url.repository.biz/go/10
--
I'am what I'am, I do what I can
Sei un newbie? Leggi questo http://url.repository.biz/go/1
Inviare email con allegati? http://url.repository.biz/go/x
Julien Buratto
2004-01-14 13:28:01 UTC
Permalink
Post by Mauro
ho realizzato uno script php che invia il contenuto di un form come attach
dif (da usare con excel) e come normale mail
l'ho testato sul nostro server linux e funziona a meraviglia...
ora che l'ho messo sul server del cliente non va più.. mi dà un allegato del
peso di zero bytes...
qualche anima pia può aiutarmi? il server è Microsoft-IIS/5.0
Ciao, puoi postare la parte in cui carichi l'allegato ?

Pare che sia a zero già prima di spedire la mail...

J
Mauro
2004-01-14 13:26:17 UTC
Permalink
$message = "TABLE
0,1
\"Tabella1\"
VECTORS
0,23
\"\"
[snip]
-1,0
EOD";

su linux funziona perfettamente! :(

non ho postato tutto lo script ma solo la parte che "spedisce la mail"

grazie!
Post by Julien Buratto
Post by Mauro
ho realizzato uno script php che invia il contenuto di un form come attach
dif (da usare con excel) e come normale mail
l'ho testato sul nostro server linux e funziona a meraviglia...
ora che l'ho messo sul server del cliente non va più.. mi dà un allegato
del
Post by Mauro
peso di zero bytes...
qualche anima pia può aiutarmi? il server è Microsoft-IIS/5.0
Ciao, puoi postare la parte in cui carichi l'allegato ?
Pare che sia a zero già prima di spedire la mail...
J
Julien Buratto
2004-01-14 13:43:53 UTC
Permalink
Post by Mauro
$message = "TABLE
0,1
\"Tabella1\"
VECTORS
0,23
\"\"
[snip]
-1,0
EOD";
su linux funziona perfettamente! :(
L'espressione 'su linux funziona perfettamente' non significa molto, dato
che (come più volte detto) non esiste il concetto di portabilità tra win e
linux per php.

controlla la rfc per inviare email con allegati o usa una classe apposta che
te lo faccia bene.

Ciao
J
fabio sutto
2004-01-14 13:55:18 UTC
Permalink
Post by Mauro
$message = "TABLE
0,1
\"Tabella1\"
VECTORS
0,23
\"\"
[snip]
-1,0
EOD";
su linux funziona perfettamente! :(
Cos'è quel EOD alla fine? Usavi la sintassi heredoc e poi hai fatto
modifiche?

Potrebbe essere un problema di come il nuovo server SMTP interpreta i "\n",
prova a sostituire con "\r\n"

--------------------------------
Inviato via http://arianna.libero.it/usenet/
Mauro
2004-01-14 14:03:12 UTC
Permalink
Bingo!! come dicono nel film yankee!
grazie!

non so cosa è la sintassi Heredoc... ho salvato una tabella in dif, l'ho
aperta e sostituito i valori con le variabili...
si lo so che questo approccio pragmatico alla programmazione non è il
massimo.. per fortuna non mi guadagno il pane solo col PHP... :-P
Post by fabio sutto
Post by Mauro
$message = "TABLE
0,1
\"Tabella1\"
VECTORS
0,23
\"\"
[snip]
-1,0
EOD";
su linux funziona perfettamente! :(
Cos'è quel EOD alla fine? Usavi la sintassi heredoc e poi hai fatto
modifiche?
Potrebbe essere un problema di come il nuovo server SMTP interpreta i "\n",
prova a sostituire con "\r\n"
--------------------------------
Inviato via http://arianna.libero.it/usenet/
Setec Astronomy
2004-01-14 14:13:35 UTC
Permalink
non so cosa h la sintassi Heredoc...
Per i posteri

http://url.repository.biz/go/11
--
I'am what I'am, I do what I can
Sei un newbie? Leggi questo http://url.repository.biz/go/1
Inviare email con allegati? http://url.repository.biz/go/x
Julien Buratto
2004-01-14 15:27:48 UTC
Permalink
Post by Setec Astronomy
non so cosa h la sintassi Heredoc...
Per i posteri
http://url.repository.biz/go/11
Setec ma non ti sembra più corretto usare i link di php.net direttamente
visto che comunque sono redirect che non alleggirscono (come i mirror fanno)
il sito centrale ?

Sembra quasi che ci sia una forma di interesse personale da parte tua verso
la diffusione di questa URL .... repository.bizz

Anche perchè a livello mnemonico non aiuta mica un numero nella url

J
Setec Astronomy
2004-01-14 16:24:52 UTC
Permalink
Setec ma non ti sembra piy corretto usare i link di php.net
direttamente visto che comunque sono redirect che non alleggirscono
(come i mirror fanno) il sito centrale ?
Sembra quasi che ci sia una forma di interesse personale da parte tua
verso la diffusione di questa URL .... repository.bizz
Anche perchh a livello mnemonico non aiuta mica un numero nella url
Voi il link originale?

Eccolo:

http://www.php.net/manual/en/language.types.string.php#language.types.st
ring.syntax.heredoc
--
I'am what I'am, I do what I can
Sei un newbie? Leggi questo http://url.repository.biz/go/1
Inviare email con allegati? http://url.repository.biz/go/x
Mauro
2004-01-14 15:17:44 UTC
Permalink
cantantato vittoria trooppo presto...
c'e ancora un problemino:

le prime 7 righe del DIF in attachment non ci sono!!
ho controllato 10 volte di non aver messo per sbaglio qualche a capo di
troppo...

TABLE
0,1
\"curriculum\"
VECTORS
0,23
\"\"
TUPLES
0,[il file in attach parte da qui!!!!!!!!]2
\"\"
DATA
0,0
\"\"
-1,0
BOT
1,0
\"nome\"




$boundary = strtoupper(md5(uniqid(time())));
$mail_header = "From:$from";
$mail_header .= "\r\nMIME-Version: 1.0";
$mail_header .= "\r\nContent-Type: multipart/mixed; boundary=$boundary";
$mail_header .= "\r\n\r\nThis is a multi-part message in MIME format";
$mail_header .= "\r\n--$boundary";
$mail_header .= "\r\nContent-Type: text/plain";
$mail_header .= "\r\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\r\n\r\n$message2";

$file_content = chunk_split(base64_encode($message));

$mail_header .= "\r\n--$boundary";
$mail_header .= "\r\nContent-Type: application/x-excel;
name=\"$file_name\"";
$mail_header .= "\r\nContent-Transfer-Encoding: base64";
$mail_header .= "\r\nContent-Disposition: attachment;
filename=\"$file_name\"";
$mail_header .= "\r\n\r\n$file_content";
$mail_header .= "\r\n--$boundary--";
mail($to,$subject,"",$mail_header);


l'EOD è la fine dei dati secondo le specifiche DIF...
Post by Mauro
Bingo!! come dicono nel film yankee!
grazie!
non so cosa è la sintassi Heredoc... ho salvato una tabella in dif, l'ho
aperta e sostituito i valori con le variabili...
si lo so che questo approccio pragmatico alla programmazione non è il
massimo.. per fortuna non mi guadagno il pane solo col PHP... :-P
Post by fabio sutto
Post by Mauro
$message = "TABLE
0,1
\"Tabella1\"
VECTORS
0,23
\"\"
[snip]
-1,0
EOD";
su linux funziona perfettamente! :(
Cos'è quel EOD alla fine? Usavi la sintassi heredoc e poi hai fatto
modifiche?
Potrebbe essere un problema di come il nuovo server SMTP interpreta i
"\n",
Post by fabio sutto
prova a sostituire con "\r\n"
--------------------------------
Inviato via http://arianna.libero.it/usenet/
Julien Buratto
2004-01-14 13:30:50 UTC
Permalink
Post by Mauro
$boundary = strtoupper(md5(uniqid(time())));
$mail_header = "From:$from\n";
$mail_header .= "MIME-Version: 1.0";
$mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
$mail_header .= "\n\nThis is a multi-part message in MIME format";
$mail_header .= "\n--$boundary";
$mail_header .= "\nContent-Type: text/plain";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n$message2";
$file_content = base64_encode($message);
$mail_header .= "\n--$boundary";
$mail_header .= "\nContent-Type: application/x-excel;
name=\"$file_name\"";
Post by Mauro
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment;
filename=\"$file_name\"";
$mail_header .= "\n\n$file_content";
$mail_header .= "\n--$boundary--";
mail($to,$subject,"",$mail_header);
Cmq come cosa non mi piace per nulla. Come classi di invio email ce ne sono
un sacco e il fatto che funzioni sotto linux indica solo che
usi un mta che accetta dei parametri 'aperti'.

Controlla le RFC o usa una classe che le implementi meglio.

J
Loading...