php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Mailanhang 'zerstückelt' ?


 
Master0Blicker
19-09-2005, 10:30 
 
Hallo Leute!
Habe mal wider ein kleines Problem:

Hab ein Cronjob der mir bestimmte Tabellen der DB 'dumpt'.
(Select ....INTO FILE...)

Nun sende ich diese Files zur sicherheit nochmal an meine Emailadresse (also will sie nicht nur auf dem Server 'gespeichert' haben).

Die Mail kommt auch an mit entsprechendem Anhang so wie gewünscht.

So weit so gut...


Wenn ich nun die Textdatei öffne packt mich das Grauen....

Inhaltlich ist alles ok nur das Format ist total zerwuselt.
Zeilenumbrüche dort wo es keine geben sollte!
Und das ist wichtig das die Datei orginal bleibt weil beim 'in-die-DB-zurückspielen' per LOAD FILE (SQL-Statement) darf kein Zeilenumbruch da sein wo ursprünglich auch keins da war!

Ich benutze folgendes Script
http://www.webmaster-resource.de/tricks/php/mails-mit-anhang-verschicken.php

wobei ich natürlich für die Textdateien

Content-Type: text/html;

benutze und den

Content-Transfer-Encoding: 8bit;

und natürlich:

chunk_split($filecontent);

anstatt

chunk_split(base64_encode($filecontent));

benutze.....

Muss ich noch auf was achten ?

 
EEBKiller
19-09-2005, 11:58 
 
Soweit ich weiss, gehören alle Attachments Base64 Codiert. Das mit den Zeilenumbrüchen ist auch relativ Klar, chunk_split() macht dir alle 76 Zeichen einen Umbruch rein, den findest du dann natürlich in der Datei wieder. Also einfach doch mal Base64 und dann müsste die textdatei eigentlich so bleiben, wie sie ist ;)

Btw: Der korrekte Content-Type wäre übrigens "text/plain"

 
Master0Blicker
19-09-2005, 11:59 
 
Naja, 'zerstückelt' ist wohl nicht der richtige Ausdruck dafür, es kommt eben nicht orginal an!

Sieht so aus als ob er aus Leerzeichen Tab-Abstände reingemacht hätte!


Orginal:
0 0 0 0 1 0 Name Nachname Adresse PLZ Ort
0 1 0 0 1 0 Name Nachname Adresse PLZ Ort


nachdem es per Mail versendet wurde:

0 0 0 0 1 0
Name Nachname
Adresse PLZ Ort 0 0 1
0 1 0 Name
Nachname Adresse PLZ
Ort


Ja, genau so siehts aus......ungefähr *g*



Kann mir jemand sagen warum ?

 
Master0Blicker
19-09-2005, 12:01 
 
@EEBKiller

klaro, Content-Type ist plain/text
Hab es nur falsch reingeschrieben gehabt hier im Forum......


Also meinst du alle Anhänge sollten base64-encodiert werden ?
Weil in diesem 'Manual' steht drinnen das alle 8bit Contents dies eben nicht müssen (sollen???)

 
Master0Blicker
19-09-2005, 12:03 
 
@JEEKiller

Nö, leider war deine Antwort falsch!

Wenn ich text mit base64 encodiere bekomme ich wirres zeugs....

 
Master0Blicker
19-09-2005, 12:26 
 
Kann denn keiner sagen warum ich anstatt normalen Leerzeichen plötzlich Tab-Zeichen habe ?

Ist doch bestimmt nicht nur bei mir so und alle die Text-Anhänge verschicken mussten sich damit mal auseinandersetzten.......

Hoffe mir kann einer weiterhelfen.....

 
TobiaZ
19-09-2005, 12:30 
 
Kann denn keiner sagen warum ich anstatt normalen Leerzeichen plötzlich Tab-Zeichen habe ? Kannst du keine 30 Minuten auf eine Antwort warten? Hör auf hier rumzudrängeln! :teach:

 
Master0Blicker
19-09-2005, 12:43 
 
@TobiaZ

Mir ist schon klar das ich hier niemanden 'bedrängen' soll und auch nicht kann.
Denn um Informationen zu erzwingen ist ein Forum schliesslich nicht da (wäre ja noch schöner)

Ich wollte damit nur zum Ausdruck bringen das ich die Info dringend benötige und wer möchte kann antworten, wer nicht muss natürlich nicht...


Also nocheinmal verständnishalber:

Orginaltext:

0 0 1 0 0 1 Name Nachname .....
0 1 0 1 0 0 Name Nachname .....


Nach Emailsenden im Anhang:

0 0 1 0
0 1 Name
Nachname .......
0 1 0 1
0 0 Name
Nachname .......

Wobei die Leerzeichen aus dem Orginaltext 'gedehnt' werden (sprich Leerstelle durch Tab ersetzt...)


Hoffe mir kann jemand weiterhelfen und bedanke mich auch schon jetzt dafür!

 
TobiaZ
19-09-2005, 12:49 
 
Ich wollte damit nur zum Ausdruck bringen das ich die Info dringend benötige und wer möchte kann antworten, wer nicht muss natürlich nicht... Wie dringend es für dich ist, ist absolut irrelevant. Es gehört einfach zu Netiquette, diese ist auch in diesem Forum zu respektieren. Wenn jemand antworten will, dann wird er es auch tun. ganz egal wie eilig es für dich ist. Das ist schließlich nicht sein Problem.

I.d.R. führt Drängeln eher dazu, dass Threads ignoriert werden.

 
Master0Blicker
19-09-2005, 12:54 
 
@TobiaZ

Ja, kann ich mir denken.....

Also, nix mehr drängeln falls das bisherige so gesehen wurde.....

 
Master0Blicker
19-09-2005, 19:44 
 
Uh, hat sich erledigt!

Nachdem ich diesen Punkt übersprungen hatte und den Rest erledigt hatte habe ich bissl mit den Datensätzen experimeniert. (Also bei dem Select INTO OUTPUTFILE...)

Und bin daraufhin auf den Fehler gestossen!
Ich hatte keine Trennzeichen angegeben und dann hat er automatisch eines gesetzt gehabt.

Wahrscheinlich eben dieses Tab....

Aber schon komisch das ich das im FTP-Programm (dem seinen Text-View) alles richtig angezeigt bekam und in Outlook Express dann mit Tab-Trennzeichen.....

Nun gut, auf jedenfall ist es jetzt ok!

Wollte es dann auch hier posten da, falls jemand auch das Problem hat, er nun die Antwort kennt.....

Select into outputfile ....FIELDS TERMINATED BY ';'


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:34 Uhr.